首页 > 代码库 > 【Lua】table表删除指定元素 (转)

【Lua】table表删除指定元素 (转)

在对表做删除操作时,发现table.remove(table,idx)这个方法是根据table中的索引进行删除操作,而现在的需求是根据value值进行删除操作,在quick-x中也有相应的table方法封装:

1.根据table中的value值进行删除操作

 

--    table中删除指定元素(非根据索引)--    @param    array 要操作的容器--    @param     value 删除value值--     @param    removeadll 是否删除所有相同的值--    @return 返回删除值的个数function removebyvalue(array, value, removeadll)    --    deleteNum用于接收/返回删除个数; i/max 构成控制while循环    local deleteNum,i,max=0,1,#array    while i<=max do        if array[i] == value then            --    通过索引操作表的删除元素            table.remove(array,i)            --    标记删除次数            deleteNum = deleteNum+1             i = i-1            --    控制while循环操作            max = max-1            --    判断是否删除所有相同的value值            if not removeadll then break end        end        i= i+1    end    --    返回删除次数    return deleteNumend

 

【Lua】table表删除指定元素 (转)