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

摘要:
删除表时,会找到一个表。remove(table,idx)方法用于根据表中的索引进行删除。当前要求是根据值进行删除。quick-x中还有一个相应的表方法封装:1.根据表中的值删除--删除表中的指定元素(而不是根据索引)--@paramarray要操作的容器--@paramvalue删除值--@paramremo

在对表做删除操作时,发现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 deleteNum
end

免责声明:文章转载自《【Lua】table表删除指定元素 (转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇开源BI分析工具Metabase配置与完全使用手册CentOS7 复制文件夹和移动文件夹下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用事务和SqlBulkCopy批量插入数据

SqlBulkCopy是.NET Framework 2.0新增的类,位于命名空间System.Data.SqlClient下,主要提供把其他数据源的数据有效批量的加载到SQL Server表中的功能。类似与 Microsoft SQL Server 包中名为 bcp 的命令行应用程序。但是使用 SqlBulkCopy 类可以编写托管代码解决方案,性能上优...

LUA-赋值语句

赋值是改变一个变量的值和改变表域的最基本的方法。 a = "hello" .. "world" t.n = t.n + 1 Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。 a, b = 10, 2*x <--> a=10; b=2*x 遇到赋值语句Lua会先计算右边所有的值然后再...

table 隐藏某一个td时,显示错乱问题

1、当表格为多列的情况下,属性为”display:block”行的内容宽度仅与第一列宽度相同,也就是说无论你使colspan的属性值为多少,剩余列的空间都不进行解析。2、同一行反复的在”display:none;”与”display:block;”两个状态间切换时,表格的底部会持续的产生多余的空白空间以至于造成页面布局的扭曲。 解决方法:1、用displa...

(转)mysql8.0配置文件优化

原文:https://www.cnblogs.com/john-xiong/p/12099842.html 原文:https://www.modb.pro/db/22572----MySQL8.0自适应参数innodb_dedicated_server 原文:https://www.cnblogs.com/zwbsoft/p/13791424.html--...

postgres数据库表空间收缩之pg_squeeze,pg_repack

postgres数据库表空间收缩之pg_squeeze,pg_repack 目录 postgres数据库表空间收缩之pg_squeeze,pg_repack pg_squeeze1.2 原理 优点 安装 使用 pgstattuple 临时处理 监控方式 注意事项 squeeze1.2和低版本的区别 pg_repack 原理 安装 使用方法 测...

CSS尺寸与补白

尺寸与补白 width 语法: width:长度值 | 百分比 | auto 默认值:auto 适用于:除非置换内联元素,table-row, table-row-group之外的所有元素 继承性:无 动画性:当值为 长度值 | 百分比 时 计算值:指定的值 媒 体:视觉 取值: auto: 无特定宽度值,取决于其它属性值 长度值: 用长度值来定义宽度...