lua - Lua,将循环中的值插入新表
问题描述
我试图弄清楚如何遍历 LUA 表并获取字段的结果并将它们输入到新表中。在下面的示例代码中,我想从每条记录中获取电话值并将其插入到新表 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
解决方案
根据评论,您可以执行以下操作:
for i = 1, #people do
phoneNumbers[i] = people[i].phone
end
-- test to see the result
for i = 1, #phoneNumbers do
print(phoneNumbers[i])
end
或者这也有效:
for k, v in pairs(people) do
phoneNumbers[k] = v.phone
end
-- test to see the result
for k, v in pairs(phoneNumbers) do
print(k, v)
end
推荐阅读
- android - EditText 自动用点替换一行中的最后一个字符
- python - 实时动态更新 django 模板
- laravel - 类控制器不存在
- swift - 在请求完成之前执行的完成处理程序
- javascript - 如何在单选按钮上调用欧芹方法
- node.js - mongodb中的树结构,带有用于读取的父子关系
- ruby-on-rails - 如何获取belong_to记录的大小
- c++ - 在 std::unordered_set/std::unordered_map 中 KeyEqual 的用处
- reactjs - 类型错误:rzp.open 不是函数
- polymer - 如何使用聚合物 3.x 中的对象绑定值?