我有一个多维数组:
result = {
{
data = {
language = "English",
name = "Freak Out",
list = {
{
type = "songs",
album = "1234"
}, {
type = "songs",
album = "4234"
}, {
type = "songs",
album = "5829"
}
}
}
}
}
如何动态访问此数组中的列表?
此代码正在打印第一张相册(1234
):
for i, v in pairs(result) do print(v.data.list[1].album) end
我要打印所有album
及其type
。我该怎么做?
答案 0 :(得分:6)
result
是表格列表
result[i].data.list
是表的列表。
for _, res in ipairs(result) do
for _, song in ipairs(res.data.list) do
print(song.type, song.album)
end
end
此输出
songs 1234
songs 4234
songs 5829
答案 1 :(得分:0)
首先您需要知道表在lua中有两种类型,一种是哈希表,另一种是数组。 result 的成员和 result.data 是一个哈希表,每个元素都有一个字符串键。 result 和 result.data。 list 是一个数组表,该表中的所有成员均具有数字键,默认索引以1开始。
第二,要遍历两个类型表,有两个函数,散列表对和数组表iparis。
打印列表(数组)中的所有相册:
for k, v in ipairs(res.data.list) do
print(v.type, v.album)
end