js——处理tree数据中得name拼接父级name

在这里插入图片描述
在这里插入图片描述

let resData = [
    {
        id:'1',
        parentId:'0',
        name:'教育业',
    },
    {
        id:'2',
        parentId:'0',
        name:'建筑业',
        children:[
            {
                id:'21',
                parentId:'2',
                name:'土木工程建筑业'
            },
            {
                id:'21',
                parentId:'2',
                name:'装修装饰业'
            },
        ]
    },
    {
        id:'3',
        parentId:'0',
        name:'制造业',
        children:[
            {
                id:'31',
                parentId:'3',
                name:'交通运输业',
                children:[
                    {
                        id:'311',
                        parentId:'31',
                        name:'汽车制造业',
                    },
                    {
                        id:'312',
                        parentId:'31',
                        name:'轮船制造业',
                    },
                ]
            }
        ]
    }
]
let arr = []
let obj = {}
function getresDataName(resData, obj, arr){
    resData.forEach(item =>{
        if (obj[item.parentId]) {
            item.name = `${obj[item.parentId]}-${item.name}`;
        }
        obj[item.id] = item.name;
        if (item.children && item.children.length > 0) {
            getresDataName(item.children, obj, arr)
        } else {
            arr.push(item)
        }
    })
    return arr;
}

const allList = getresDataName(resData, obj, arr);

$(document).ready(function(){
    listRender();
})

function listRender(){
    $('.list-wrapper').html('');
    let liEle = '';
    allList.forEach(item =>{
        liEle += `<li>${item.name}</li>`
    })
    $('.list-wrapper').append(liEle);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值