社区
游戏开发
帖子详情
lua删除table元素的疑问
thcookie
2015-04-22 12:09:30
没找到LUA的板块 相信游戏开发的很多人都会 所以留疑问在这里
我现在定义一个table
local DTB =
{
key1 = "aaaa",
key2 = "bbbbb",
key3 = "cccccc"
}
我现在手里有个key是key1 如何删除上面table的里的key为key1的元素 直接={} 或者 =nil 可以吗
如果=nil 再用getn去获取长度会出错吧?
...全文
485
2
打赏
收藏
lua删除table元素的疑问
没找到LUA的板块 相信游戏开发的很多人都会 所以留疑问在这里 我现在定义一个table local DTB = { key1 = "aaaa", key2 = "bbbbb", key3 = "cccccc" } 我现在手里有个key是key1 如何删除上面table的里的key为key1的元素 直接={} 或者 =nil 可以吗 如果=nil 再用getn去获取长度会出错吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
勤奋的小游侠
2015-05-15
打赏
举报
回复
DTB .key1=nil即可。 getn是获得连续数组下标的最大值,并不是获得元素个数。
漂浮一生
2015-05-14
打赏
举报
回复
table.getn获取的并不是table中元素的个数,而是数字下标的最大值,你这里有个误区, local DTB = { key1 = "aaaa", key2 = "bbbbb", key3 = "cccccc" } 你这个table.getn(DTB) = 0
lua
遍历
table
中
删除
table
中
元素
很多时候,我们有这样的需求:
删除
table
中若干符合条件的
元素
,最原始的想法就是用for遍历一边
table
,符合条件的用
table
.remove就可以了 function test1(t) for i , v in ipairs(t) do if v.id%3 == 0 then
table
.remove(t ,i) end end end 结果证明这是不行的...
Lua
Table
元素
的
删除
Lua
中的
Table
元素
删除
主要有两种方法:1、将字段赋值为 nil2、使用
Table
库里的
table
.remove(
table
, index) 下面着重讲解两种方法 1
table
.remove 先来看一下这个库函数的函数原型:
table
.remove(
table
, pos) @
table
:要
删除
的表@pos: 要
删除
表
元素
的位置,这个参数可选,如果不传的话, 默认为
table
...
lua
删除
key,value
table
中指定
元素
要
删除
key,value中
table
中指定的
元素
, 不能简单的使用for循环来
删除
原因如下: 在
table
表中使用for迭代时,将符合条件的
元素
删除
时,后面
元素
前移,然后产生跳跃 而且使用for i=1,#my
table
这样的循环时,由于在for时就已经确定了循环的终点是
table
的总长度, 在整个for运行过程中,终点不会改变。 所以当你
删除
元素
时,在循环到i = #myta
lua
遍历
删除
_
lua
中
table
如何安全移除
元素
在
Lua
中,
table
如何安全的移除
元素
这点挺重要,因为如果不小心,会没有正确的移除,造成内存泄漏。引子比如有些朋友常常这么做,大家看有啥问题将test表中的偶数移除掉local test = { 2, 3, 4, 8, 9, 100, 20, 13, 15, 7, 11}for i, v in ipairs( test ) doif v % 2 == 0 then
table
.remove(tes...
lua
删除
数组
元素
的正确姿势
lua
删除
数组
元素
的正确姿势
游戏开发
8,324
社区成员
23,685
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章