描述: 使用 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:[]})