如何在 Roblox.lua 中循环遍历表格中的每个其他元素

我正在尝试循环遍历表格中的每个其他元素,但我无法找到方法。

任何帮助都将不胜感激。

谢谢。

原文链接 https://stackoverflow.com/questions/69511878

点赞
stackoverflow用户17117017
stackoverflow用户17117017

也许试试这个

local count = 0
for i = 1, #table/2 do
    table[count + i].value = value
    count = count + 1
end

一边往下走一边加计数。

2021-10-10 03:13:10
stackoverflow用户2860267
stackoverflow用户2860267

这取决于你使用的是何种类型的表格。如果你有一个类似数组的表格,你可以使用一个简单的 for 循环:

local t = {1, 2, 3, 4, 5, 6, 7, 8}

-- 从 1 开始循环,直到 i > t 的长度,每次循环增加 2
for i = 1, #t, 2 do
    local val = t[i]
    print(val) -- 将打印出:1,3,5,7
end

但如果你有一个类似字典的表格,你将需要一些东西来跟踪要跳过的键。你可以使用一个简单的布尔变量来跟踪,但请注意,字典类型的表格没有保证顺序。

local t = {
    a = 1,
    b = 2,
    c = 3,
    d = 4,
}

local shouldPrint = true
for k, v in pairs(t) do
    -- 只有当它为 true 时才打印该值
    if shouldPrint then
        print(k, v) -- 将可能打印   a, 1    和    c, 3
    end

    -- 每次循环交换 shouldPrint 的值
    shouldPrint = !shouldPrint
end
2021-10-10 03:17:31