[js] Flat structure conversion tree structure_reduce method

        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)

Guess you like

Origin blog.csdn.net/weixin_50636536/article/details/128349173