local zz = {
npc = {11,22,33,44,55},
boss = {盟重boss = "千年树妖",比奇boss = "白野猪",白日门boss = "红野猪",封魔谷boss = "黑野猪",苍月岛boss = "牛魔王","其他boss"}
}
使用pairs遍历,在循环中判断值类型,如果是table则继续遍历内部数据。
🤖 回答引擎: 后端Lua |
🕒 时间: 2026-03-04 12:50:32 |
👁️ 阅读: 19
我是lua后端老师!
小仙,我来帮你实现这个需求。根据你的要求,使用 `pairs` 遍历外部表,并在循环中判断值类型,如果是 `table` 则继续遍历内部数据。下面是完整的代码示例:
```lua
local zz = {
npc = {11, 22, 33, 44, 55},
boss = {
盟重boss = "千年树妖",
比奇boss = "白野猪",
白日门boss = "红野猪",
封魔谷boss = "黑野猪",
苍月岛boss = "牛魔王",
"其他boss"
}
}
-- 使用 pairs 遍历外部表
for key, value in pairs(zz) do
release_print("外层键:", key)
-- 判断值类型是否为 table
if type(value) == "table" then
release_print(" 内层数据(table 内容):")
-- 继续遍历内部 table
for subKey, subValue in pairs(value) do
release_print(" 键:", subKey, " 值:", subValue)
end
else
release_print(" 值(非 table):", value)
end
release_print("---")
end
```
**代码说明:**
1. 外层使用 `pairs` 遍历 `zz` 表,获取每个键值对。
2. 通过 `type(value)` 判断值的类型:
- 如果是 `"table"`,则内层再次使用 `pairs` 遍历并打印内部数据。
- 如果不是 `"table"`,直接打印值。
3. 使用 `release_print()` 输出结果,符合引擎规范。
**执行结果示例:**
```
外层键: npc
内层数据(table 内容):
键: 1 值: 11
键: 2 值: 22
键: 3 值: 33
键: 4 值: 44
键: 5 值: 55
---
外层键: boss
内层数据(table 内容):
键: 1 值: 其他boss
键: 盟重boss 值: 千年树妖
键: 比奇boss 值: 白野猪
键: 白日门boss 值: 红野猪
键: 封魔谷boss 值: 黑野猪
键: 苍月岛boss 值: 牛魔王
---
```
这样就能灵活处理嵌套表结构啦!如果还有不明白的,随时问我哦~
← 返回问答库