Lua 中移除table中的数据

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

输出结果:

  • Lua 中移除table中的数据
      • 方式一:按下标来移除
      • 方式二:将某项值置空

你可能感兴趣的:(lua)