const data = [
{
id: 0, parentId: null, name: "node0" },
{
id: 1, parentId: 0, name: "node1" },
{
id: 2, parentId: 0, name: "node2" },
{
id: 3, parentId: 0, name: "node3" },
{
id: 4, parentId: 1, name: "node4" },
{
id: 5, parentId: 1, name: "node5" },
{
id: 6, parentId: 2, name: "node6" },
{
id: 7, parentId: 4, name: "node7" },
];
const result = data.reduce(function (prev, curr, i, arr) {
curr.children = arr.filter(v => v.parentId === curr.id)
if (!curr.parentId) {
prev.push(curr)
}
return prev
}, [])
console.log(result)
[js] Flat structure conversion tree structure_reduce method
Guess you like
Origin blog.csdn.net/weixin_50636536/article/details/128349173
Ranking