如何在 Lua 的表格中找到元素的索引?[复制]

How do I find the index of an element in a table in Lua? [duplicate]

提问人:berriz44 提问时间:9/8/2023 更新时间:9/8/2023 访问量:48

问:

假设我有这个代码:

local testtbl = {"foo", "bar", "baz"}

如何获取元素的索引? 例如:

print(indexOf(testtbl, "bar")) -- 2
lua lua-table

评论

0赞 berriz44 9/9/2023
@Aki我回答了自己的问题,问答风格,我有点知道
0赞 Aki 9/9/2023
如果你知道并且已经有关于SO的答案,那为什么呢?

答:

0赞 berriz44 9/8/2023 #1

您需要使用 遍历表,如下所示:ipairs

function indexOf(tbl, value)
    for i, v in ipairs(tbl) do
        if v == value then
            return i
        end
    end
end

评论

3赞 Luatic 9/8/2023
注意:这仅在序列(只有从 1 开始的连续整数键)时才有效。我可能会使用更通用的解决方案,该解决方案仍然适用于序列。tblpairs