SOURCE

// 定义数据
var data = [{ id: 1, name: '1' }, { id: 2, name: '2', obj: [{ id: 3, name: '3' }, { id: 4, name: '4' }] }];
var ids = [];
var names = [];
// 创建回调函数
fun = function (val) {
    val.map(item => {
       
        ids.push(item.id)
        names.push(item.name)
        // 判断是否具有子级,具有子级并且子级具有长度
        if(item.obj && item.obj.length){
            // 条件成立调用自己,形成回调函数,价格子级当做参数进行传递
            fun(item.obj)
        }
    })
}

// 调用函数,传递数据
fun(data)

// 打印结果查看
console.log(ids,names)
console 命令行工具 X clear

                    
>
console