Javascript 角度9:将数组对象重新排列为嵌套数组
我正试图重新安排:Javascript 角度9:将数组对象重新排列为嵌套数组,javascript,arrays,angular,nested-loops,Javascript,Arrays,Angular,Nested Loops,我正试图重新安排: 致: 我正在尝试制作树形结构的UI布局。但是我想知道如何实现数据部分的转换。也许是一厢情愿的想法,但是有没有比在循环中循环更简单的方法呢 可以使用对象作为标高的贴图来缩小阵列 const arr=[{“id”:5,“levelName”:“level1”},{“id”:6,“levelName”:“level2”},{“id”:7,“levelName”:“level3”}]; 常数res=arr.reduce((acc,obj)=>{ 让level=+obj.level
致:
我正在尝试制作树形结构的UI布局。但是我想知道如何实现数据部分的转换。也许是一厢情愿的想法,但是有没有比在循环中循环更简单的方法呢 可以使用对象作为标高的贴图来缩小阵列
const arr=[{“id”:5,“levelName”:“level1”},{“id”:6,“levelName”:“level2”},{“id”:7,“levelName”:“level3”}];
常数res=arr.reduce((acc,obj)=>{
让level=+obj.levelName.slice(obj.levelName.indexOf(“”)+1);
(acc[水平]=acc[水平]| |[])。推动(obj);
acc[级别+1]=acc[级别+1]| |(obj[级别]=[]);
返回acc;
}, {})[1];
控制台日志(res)代码>
[
{
"id": 5,
"levelName": "Level 1"
},
{
"id": 6,
"levelName": "Level 2"
},
{
"id": 7,
"levelName": "Level 3"
}
]
[
{
"id": 5,
"levelName": "Level 1",
"level": [
{
"id": 6,
"levelName": "Level 2",
"level": [
{
"id": 6,
"levelName": "Level 2",
"level": []
}
]
}
]
}
]