Lua Table增删排序

448 词

谨慎使用 table[index]=nil 删除某索引下的值,原table其他隐藏索引编号不会发生改变!
且这种方法会导致索引产生空缺不连续,也会影响ipairs方法的遍历,pairs方法不受影响

t = {
    1,
    2,
    3
}

–插入函数(table,位置(可选),值)
table.insert(t,1,10)
table.insert(t,'r')

–删除函数(table,位置(可选))
table.remove(t,2)
table.remove(t) – 不写位置默认删除最末一位
t[2]=nil – 删除该索引下的值,但是!原table其他隐藏索引不会改变!

–排序(table,排序规则(可选),默认正序)
– 正序排序
table.sort(t)
–倒序排序
local function my_sort(x,y)
– body
if x > y then
return true
else
return false
end
end
table.sort(t,my_sort)

for k,v in pairs(t) do
print(k,v)
end