在 Lua 中将索引 table 转换为键控 table

Converting indexed table to keyed table in Lua

我是 Lua 的新手。

我想知道如何将索引 table 转换为基于键的 table。

例如,假设我有以下 table.

t = {5, 6, 7, 8}

现在,我明白了t[1]是5,t[2]是6,t[3]是7,t[4]是8。

如何将table t 转换为以下基于键的样式? (无需重新构建 table)

t = {x=5, y=6, z=7, w=8}

最简单、最高效的解决方案是什么?

试试这个代码:

t = {5, 6, 7, 8}
f = {"x", "y", "z", "w"}

for k=1,#t do
    t[f[k]]=t[k]
    t[k]=nil
end

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