js获取嵌套对象某个属性的值组成新数组?
我想获取每一层对象的id的值,放入一个数组中。
let arr = [
{
id:'1',
name:'aaaaa',
children:[
{
id:'1-1',
name:'bbbbb',
children:[
{
id:'1-2',
name:'ccccc',
children:[
{id:'1-3-1', name:'ddddd'},
{id:'1-4-1', name:'eeeee'}
]
}
]
}
]
}
]
回复
1个回答

test
2024-07-17
递归就好了呀
function getId(arr){
let newArr = []
arr.forEach(item=>{
newArr.push(item.id);
if(Array.isArray(item.children)){
newArr.push(...getId(item.children))
}
})
return newArr;
}
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容