Lua中遍历数组和table的4种方法:使用for遍历、迭代器的方式遍历等方法,同时提供一个复杂table的的遍历方法
已知有如下table:
table_test = {
"table_value_1",
"table_value_2",
"table_value_3",
"table_value_4",
"table_value_5",
}
方法一:直接用for + range遍历
for i = 1, #table_test do
print(table_test[i])
end--后面接一个数组或者tabe来遍历它,i是该table或者数组的起始下标。
方法二:for i, v in pairs()遍历
for i, v in pairs(table_test) do
print(i)
end--这种是采用迭代器的方式遍历的,i为下标,v为table或者数组的值。
方法三:for i in pairs()遍历
for i in pairs(table_test) do
print(i);
end--i为table或者数组的下标。
方法四:迭代遍历
table_view = {
"w",
"e",
"r",
color1 = "red",
color2 = "blue",
{"a1", "a2", "a3"},
{"b1", "b2", "b3"},
{"c1", "c2", "c3"},
}
for i, v in pairs(table_view) do
if type(v) == "table" then
for new_table_index, new_table_value in pairs(v) do
print(new_table_value)
end
else
print(v)
end
end--注:type(v)
--功能:返回参数的类型名("nil","number", "string", "boolean", "table", "function", "thread", "userdata")