数组遍历递归,添加属性

let data = [ { "id": "100", "label": "总公司", "title": "总公司", "status": "0", "orderNum": 0, "createTime": "2018-03-16T03:33:00.000+00:00", "parentId": "0", "children": [ { "id": "101", "label": "科技部", "title": "科技部", "status": "0", "orderNum": 1, "createTime": "2018-03-16T03:33:00.000+00:00", "parentId": "100", "children": [ { "id": "00a22911e3e91a9a7ed2c66bb355aa65", "label": "二级", "title": "二级", "status": "0", "orderNum": 3, "createTime": "2022-04-13T07:54:54.000+00:00", "parentId": "101", "children": [ { "id": "7fc6fb1e309f52e9f09defad9d72f355", "label": "三级", "title": "三级", "status": "0", "orderNum": 4, "createTime": "2022-04-13T07:55:03.000+00:00", "parentId": "00a22911e3e91a9a7ed2c66bb355aa65", "children": [] } ] } ] }, { "id": "8f9b00b34e7c7e59ac677ac71c16c105", "label": "停用测试", "title": "停用测试", "status": "1", "orderNum": 2, "createTime": "2022-04-13T06:34:04.000+00:00", "parentId": "100", "children": [] } ] }]

recurrence(data)

function recurrence (data, line = '') {
    data.map(item => {
        item.tierLabel = `${line ? line + '-' : ''}${item.label}`
        if (item.children && item.children instanceof Array && item.children.length)
            recurrence(item.children, item.tierLabel)
        }
    })
}

let obj = {
    id: '007',
    name: '抵达',
    wife: {
        id: '008',
        name: '水彩',
        address: {
            city: '北京',
            area: '海淀区'
        }
    }
}

function copyObj(obj) {
    let newObj = {}
    for(let key in obj) {
        if(typeof obj[key] === 'object') {
            // 引用类型,递归
            newObj[key] = copyObj(obj[key])
        } else {
            // 基本类型,直接赋值
            newObj[key] = obj[key]
        }
    }
    return newObj
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容