我有一个带有parentId 和排序值的对象数组,我想将其放入带有嵌套“子项”的数组中并进行适当排序。
例如,这是数据:
[{
id: 1,
sort: 2,
parentId: null,
name: 'A'
}, {
id: 2,
sort: 1,
parentId: 1,
name: 'A.1'
}, {
id: 3
sort: 2,
parentId: 1,
name: 'A.2'
}, {
id: 4,
sort: 1,
parentId: null,
name: 'B'
}]
我想改变的方式是这样的:
[{
id: 4,
sort: 1,
parentId: null,
name: 'B',
children: []
}, {
id: 1,
sort: 2,
parentId: null,
name: 'A',
children: [{
id: 2,
sort: 1,
parentId: 1,
name: 'A.1'
}, {
id: 3
sort: 2,
parentId: 1,
name: 'A.2'
}]
}]
这是已排序的(id 4 位于顶部,因为排序为 1),并且子项是嵌套的并且也相应地排序。
关于执行此操作的好方法有什么建议吗?我可以递归循环以应用子级,但不确定如何保持对此的排序。