如何在JavaScript中使用reduce函数?I';我在使用它时有点困惑
我在使用reduce函数时有点困惑,因为我有一个数组如何在JavaScript中使用reduce函数?I';我在使用它时有点困惑,javascript,reduce,Javascript,Reduce,我在使用reduce函数时有点困惑,因为我有一个数组 let aa = [1,2,3,4,5,6] 我需要的输出是: [{id:1,children: [{id:2,children: [{id:3,children: [{id:4,children: [{id:5,children: [{id:6,children:[{}]}] }] }]
let aa = [1,2,3,4,5,6]
我需要的输出是:
[{id:1,children:
[{id:2,children:
[{id:3,children:
[{id:4,children:
[{id:5,children:
[{id:6,children:[{}]}]
}]
}]
}]
}]
}]
我写了一个函数
设aa=[1,2,3,4,5,6]
让cc=aa.减少((acc,val)=>{
设obj={
id:val,
儿童:[]
}
加速推力(obj);
console.log(acc[0]。子项)
acc=acc[0]。子项
返回acc
}, [])
控制台日志(cc)
在调用.reduce
之前,需要保存对初始外部数组的引用。然后,在调用.reduce
并传入初始值后,它将构造递归结构,然后您可以返回初始值以返回整个结构:
const aa=[1,2,3,4,5,6]
常量结果=[];
aa.减少((acc,val)=>{
acc[0]={
id:val,
儿童:[{}]
};
返回acc[0]。子项;
},结果);
控制台日志(结果)
在调用.reduce
之前,需要保存对初始外部数组的引用。然后,在调用.reduce
并传入初始值后,它将构造递归结构,然后您可以返回初始值以返回整个结构:
const aa=[1,2,3,4,5,6]
常量结果=[];
aa.减少((acc,val)=>{
acc[0]={
id:val,
儿童:[{}]
};
返回acc[0]。子项;
},结果);
控制台日志(结果)代码>您可以将JS array reverse和reduce方法结合起来,得到如下结果
让aa=[1,2,3,4,5,6]
让result=aa.reverse().reduce((children,id)=>[{id,children}],{}]);
console.log(result)
您可以将JS数组reverse和reduce方法结合起来,得到如下结果
让aa=[1,2,3,4,5,6]
让result=aa.reverse().reduce((children,id)=>[{id,children}],{}]);
console.log(result)
你不能使用forEach数组方法吗?你不能使用forEach数组方法吗?非常感谢兄弟,Replayaaa.reduceRight((acc,e)=>[{id:e,children:acc}],{}]);//从[{}]开始,非常感谢你,兄弟,你能以多快的速度重放a.reduceRight((acc,e)=>[{id:e,children:acc}],{}]);//从[{}]开始