js 树形结构数据,递归成为正常数组

let array= [
    {
        id: 1,
        children: [{
            id: 2,
            children: null
        }]
    },
    {
        id: 3,
        children: [{
            id: 4,
            children: null
        }]
    },
]

function findTreeNode1(array) {
    let ids = []
  // 利用while 循环  数据源
    while (array.length) {
        // 移除并返回第一个元素(改变原始数组)
        let item = array.shift()
        ids.push(item.id)
        if (item.children) {
          // 存在子集 添加到数组 返回新的数组
            array= array.concat(item.children)
        } //else 没有子集  array.length 为  undefined 结束循环
    }
    console.log(ids)
}

你可能感兴趣的:(js 树形结构数据,递归成为正常数组)