如何在JavaScript中使用reduce函数?I';我在使用它时有点困惑

如何在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:[{}]}] }] }]

我在使用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:[{}]}]
            }]
          }]
        }]
   }]
}]
我写了一个函数

设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}],{}]);//从[{}]开始