嘿嘿嘿,稍微改了一下题目,把null去掉了
var arr = [{
id: 1,
children: [{
id: 2,
children: [{
id: 3
}]
}]
}, {
id: 4
}];
//用来保存id的数组
var arr0 = [];
function getId(json, id) {
var o = {};
json.forEach(function(item) {
if (item.id == id) {
arr0.push(id);
o = item;
} else if (item.children && item.children.length > 0) {
o = getId(item.children, id);
}
})
return o;
}
getId(arr, 1);
getId(arr, 2);
getId(arr, 3);
getId(arr, 4);
console.log(arr0);
//(4) [1, 2, 3, 4]