【发布时间】:2020-06-09 14:25:31
【问题描述】:
基本上,我想遍历每个对象以将所有“Id”属性值作为一个数组。我的对象结构就像-
{
Id:'1',
children:[
{
Id:'2',
children:[{...},{...},...]
},
{
Id:'5',
children:[
{
Id:'6',
children:[{ Id:'7',...},{Id:'8',...}]
},
{
Id:'9',
children:[{...},{...}]
},
{...},
{...},
.
.
.
]
},
{...}
]
}
输出应该类似于-['1','2','3',...'9',...]
我正在尝试递归。
idArr = [];
getIds(arr) {
(arr || []).forEach(obj => {
this.idArr.push(obj.Id);
this.getIds(obj.children)
})
}
有没有更好的方法?如果有人能帮忙就好了。
【问题讨论】:
-
这是一个合理的方法。
-
基本递归就是答案
-
Code Review 是寻求改进工作代码建议的地方。但这可能太微不足道了,无法成为话题。
标签: javascript arrays multidimensional-array nested-object