如何从 Lua 循环中的 table 中删除键值
How to remove key value from the table in loop in Lua
所以,我创建了一个 table A_table
,我的目标是创建一组三只手 Hand
然后我想从 table 即 key 2 and 3
A_table = {}
for i = 1, 3 do
local Hand = {
['parts'] = {
type = 'arm',
left = 'up',
right = 'down',
collision = 'true'
}
}
table.insert(A_table, Hand)
end
for k, v in pairs(A_table) do
print(k, v['parts'].left)
end
输出:-- 想要删除 2 和 3
1 up
2 up
3 up
我尝试了以下方法,但没有用。
for k, v in pairs(A_table) do
for i = #v, 2, -1 do
A_table[i] = nil
end
end
你的情况...
for i = #A_table, 2, -1 do
table.remove(A_table)
end
- 循环从最后一个键开始,在第 2 个键后结束
- table.remove() 不带位置参数默认删除最后一个 key/value
所以,我创建了一个 table A_table
,我的目标是创建一组三只手 Hand
然后我想从 table 即 key 2 and 3
A_table = {}
for i = 1, 3 do
local Hand = {
['parts'] = {
type = 'arm',
left = 'up',
right = 'down',
collision = 'true'
}
}
table.insert(A_table, Hand)
end
for k, v in pairs(A_table) do
print(k, v['parts'].left)
end
输出:-- 想要删除 2 和 3
1 up
2 up
3 up
我尝试了以下方法,但没有用。
for k, v in pairs(A_table) do
for i = #v, 2, -1 do
A_table[i] = nil
end
end
你的情况...
for i = #A_table, 2, -1 do
table.remove(A_table)
end
- 循环从最后一个键开始,在第 2 个键后结束
- table.remove() 不带位置参数默认删除最后一个 key/value