描述: 使用 reduce() 实现数组的变化 为什么 push 后,后面的 delete 会对 childern 生效, 不应该只对 item 生效吗?
我的理解: 应该在 push 前就 delete.
let arr = [
{ 名称:'动物', id: 1, parent: null},
{ 名称:'狗', id: 2, parent: 1},
{ 名称:'猫', id: 3, parent: 1}
]
arr.reduce((result,item)=>{
if (item.parent===null){
result.id = item.id;
result.名称 = item.名称;
}else{
result.children.push(item);
delete item.parent;
item.children = null;
}
return result;
},{id:null,children:[]})
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.