table.insert -> 记住插入值的键名

我正在将一个变量的值插入到一个表格中,想要确保操作成功。因此,我想返回该值,但不是通过变量,而是从表格中获取。

除了再次遍历表格,有没有更简单的方法?

在插入时记住值在表格中的键的某种方式吗?

function(value)
    for _,v in pairs(theTable) do
        if v == value then
            return --(由于表格已经包含该值)
        end
    end
    table.insert(theTable, value)

    return -- table.[VALUE]
end
点赞
用户752976
用户752976
本质上,这就是 `table.insert`在做的事情:
> 作为一个特殊(经常)情况,如果我们调用 insert 时没有指定位置,它会将元素插入到数组的最后位置(因此,不会移动任何元素)。

顺便说一下,你的函数相当低效;你在进行一个 `O(n)` 的“包含”检查,如果你创建了一个值的索引,它就可以做的更好。
2014-09-10 09:45:09