// 定义数据 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)