Lua,将循环中的值插入到新表中

我正在尝试解决如何遍历LUA表并将字段的结果输入到新表中的问题。在下面的示例代码中,我想从每个记录中获取phone值并将其插入到新表phoneNumbers中。我尝试了几种方法,但基本上我一直得到一个没有数据的表。

我不确定我错过了什么,但我觉得它与value.phone有关。 非常感谢您的帮助!

local phoneNumbers = {}
local people = {
   {
       name = "Fred",
       address = "16 Long Street",
       phone = "123456"
   },
   {
       name = "Wilma",
       address = "16 Long Street",
       phone = "123456"
   },
   {
       name = "Barney",
       address = "17 Long Street",
       phone = "123457"
   }
}
        for index,data in ipairs(people) do
            for key, value in pairs(data) do
        --print('\t', key, value)
        table.insert(phoneNumbers, 1, value.phone)
        --phoneNumbers[1] = value.phone
      end
    end
点赞
用户870125
用户870125

根据评论,你可以使用以下方法:

for i = 1, #people do
    phoneNumbers[i] = people[i].phone
end

-- 测试结果
for i = 1, #phoneNumbers do
    print(phoneNumbers[i])
end

或者你也可以使用下面的方法:

for k, v in pairs(people) do
    phoneNumbers[k] = v.phone
end

-- 测试结果
for k, v in pairs(phoneNumbers) do
    print(k, v)
end
2020-07-09 01:29:00