我将变量的值插入表中并希望确保操作成功。 因此,我想返回值,但不是返回var,而是从表中返回。
是否有更简单的方法再次通过表格进行迭代?
在插入表时,有哪些方法可以记住表中值的键?
function(value)
for _,v in pairs(theTable) do
if v == value then
return --(due the table already contains the value)
end
end
table.insert(theTable, value)
return -- table.[VALUE]
end
答案 0 :(得分:4)
local ix = #theTable + 1
theTable[ix] = value
这几乎是table.insert
正在做的事情:
作为一种特殊(且常见)的情况,如果我们在没有位置的情况下调用insert,它会将元素插入到数组的最后位置(因此,不移动任何元素)
作为旁注,你的功能非常低效;你正在做O(n)
"包含"检查,如果你创建了一个值索引,可以做得更好。