js ---- 利用递归给树形数组加层级属性

2023-01-30  本文已影响0人  牛会骑自行车

当 break 语句用于循环语句时,会终止执行循环,并执行循环后代码(如果有的话)

let arr = [{
    name: '3',
    children: [{
        name: '3-1',
        children: [{
            name: '3-1-1',
            children: [{
                name: '3-1-1-1'
            }]
        }]
    }]
}]

function getLayer(list, name, layer) {
    let res = layer;
    for (let i = 0; i < list.length; i++) {
        if (list[i].name === name) {
            break;
        } else {
            if (list[i].children) {
                res = getLayer(list[i].children, name, layer + 1)
            }
        }
    }
    return res;
}

console.log(getLayer(arr, '3-1-1', 1), '=====> 3')
上一篇下一篇

猜你喜欢

热点阅读