Lua 中移除table中的数据
有两种方式来移除table中的数据
方式一:按下标来移除
table.remove(table_name, [pos,])
直接移除某个下标的数据,例如:
local t = {5, 6, 7, 8}
table.remove(t, 2)
for k, v in pairs(t) do
print(k, v)
end
输出结果:
在pairs 中移除某项数据
local t = {5, 6, 7, 8}
for k, v in pairs(t) do
if k == 2 then
table.remove(t, 2)
end
end
for k, v in pairs(t) do
print(k, v)
end
输出结果:
方式二:将某项值置空
table[k] = nil
直接将某项值置空
local a = {
['3019'] = 3019,
['3020'] = 3020,
['3021'] = 3021,
['3017'] = 3017
}
a['3019'] = nil
for k, v in pairs(a) do
print(k, v)
end
输出结果:
在pairs中置空某项
local a = {
['3019'] = 3019,
['3020'] = 3020,
['3021'] = 3021,
["3017"] = 3017,
}
for k,v in pairs(a) do
if k == '3019' then
a[k] = nil
end
end
for k, v in pairs(a) do
print(k,v)
end
输出结果: