【发布时间】:2021-05-01 05:14:40
【问题描述】:
如何从嵌套数组中提取值列表?符合条件?
const tree = {
"menu_id":"root",
"open":true,
"items":[
{
"menu_id":"Brussels",
"open":false,
"items":[
{
"menu_id":"Brussels/CBD",
"open":true,
"items":[
{
"menu_id":"Brussels/CBD/Centre",
"open":false
},
{
"menu_id":"Brussels/CBD/Louise",
"open":true
},
{
"menu_id":"Brussels/CBD/Léopold",
"open":false
},
{
"menu_id":"Brussels/CBD/Midi",
"open":true
},
{
"menu_id":"Brussels/CBD/North",
"open":false
}
]
}
]
}
]
}
我想获取一个 menu_id 值列表,其中 open 属性为 false,因此会给出:
var closed = ['Brussels','Brussels/CBD/Centre','Brussels/CBD/Léopold','Brussels/CBD/North']
我该怎么做?
谢谢!
【问题讨论】:
-
请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于 SO 的相关主题;如果您遇到困难,请发布您的尝试minimal reproducible example,并使用
[<>]sn-p 编辑器记录输入和预期输出。 -
所以忽略
"menu_id":"root", "open":true, -
@mplungjan:虽然这个问题可能没有表现出足够的努力,但您建议的副本却完全不同。这个人正在寻找一种将所有匹配节点收集到一个数组中的方法,而不管深度如何。那个保持树结构完整,只保留匹配的叶节点。
标签: javascript recursion multidimensional-array nested