Data: [
{
level: 1,
orgName: 'One',
parentId: 0,
id: 1
},
{
level: 2,
orgName: 'Two',
parentId: 0,
id: 2
},
{
level: 2,
orgName: 'Two-two',
parentId: 0,
id: 3
},
{
level: 3, // 当前元素层级
orgName: 'Three', // 当前元素名称
parentId: 2, // 当前元素的父元素
id: 4 // 当前元素id
}
],
想问一下各位有没有什么方法把上面的数据转为一下格式
```javascript
Data: [
{
id: 1,
orgName: 'one',
list:[
{
id: 2,
orgName: 'Two',
list:[
{
id: 4,
orgName: 'Three',
}
]
},
{
id: 3,
orgName: 'Two-two',
}
]
}
],
你给的数据 有点问题
let Data = [
{
level: 1,
orgName: 'One',
parentId: 0,
id:1
},
{
level: 2,
orgName: 'Two',
parentId: 1,
id: 2
},
{
level: 2,
orgName: 'Two-two',
parentId: 0,
id: 3
},
{
level: 3, // 当前元素层级
orgName: 'Three', // 当前元素名称
parentId: 2, // 当前元素的父元素
id: 4 // 当前元素id
}
];
// 调用
console.log(arrayToTree(Data));
function arrayToTree(list, pid = 0) {
return list.filter(item => item.parentId == pid).map(item => ({
...item,
list: arrayToTree(list, item.id),
}));
}
你好,js中所有对象都具有 toLocaleString() 、 toString() 和 valueOf() 方法,这三个都可以,你可以尝试一下看那个满足你需求呢
后端真懒啊,这种树形结构数据为什么不直接处理好返给你,还要你自己转化。不过你这个数据不对吧,orgName为 'Two-two'的parentId应该为1才对吧