在lua中如何remove掉table里面的数据

在lua开发中,数据保存一般都会用tabel来保存,但是在用到table之后,我们都会去清理table,那么我该怎么做呢?

我们会调用到table中的remove函数来清理,但是需要注意的是,remove(table,[pos]),删除在pos位置上的元素,后面的元素会向前一栋,然后删除的index会向前移动,导致删除后的数据不是你想要的,那么需要怎么做呢,我们就采取从后面删除,这样就可以解决问题了,代码如下:

--删除table数据
function GameClientEngineM:removeTableData(dataTabel)
    -- body
    if dataTabel ~= nil then
        --todo
        for i = #dataTabel, 1, -1 do
            if dataTabel[i] ~= nil then
                --todo
                table.remove(self._publicCard, i)
            end
        end
    end
end

只需要把你的table传进去即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Lua语言table是一种非常重要的数据类型,它类似于其他编程语言的数组、字典、哈希表等数据结构。Luatable可以存储任何类型的值,包括其他table。 以下是常用的table方法: 1. table.concat(table [, sep [, i [, j]]]):将table的元素连接成一个字符串,sep为分隔符,i和j表示连接的起始和结束位置。 2. table.insert(table, [pos,] value):在table插入一个元素,pos表示插入的位置,value表示要插入的值。 3. table.remove(table [, pos]):从table删除一个元素,pos表示删除的位置,默认删除最后一个。 4. table.sort(table [, comp]):对table的元素排序,comp为比较函数,可选。 5. table.concat(table [, sep [, i [, j]]]):将table的元素连接成一个字符串,sep为分隔符,i和j表示连接的起始和结束位置。 6. table.concat(table [, sep [, i [, j]]]):将table的元素连接成一个字符串,sep为分隔符,i和j表示连接的起始和结束位置。 7. table.concat(table [, sep [, i [, j]]]):将table的元素连接成一个字符串,sep为分隔符,i和j表示连接的起始和结束位置。 8. table.concat(table [, sep [, i [, j]]]):将table的元素连接成一个字符串,sep为分隔符,i和j表示连接的起始和结束位置。 9. table.concat(table [, sep [, i [, j]]]):将table的元素连接成一个字符串,sep为分隔符,i和j表示连接的起始和结束位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值