能够让找到对应ID后,返回该对象然后完全退出
data = [{
id: 1,
name: '家电',
goods: [{
id: 11,
name: '冰箱',
goods: [{
id: 111,
name: '海尔'
}, {
id: 112,
name: '美的'
}]
}, {
id: 12,
name: '电视',
goods: [{
id: 121,
name: '长虹'
}, {
id: 122,
name: '华为'
}]
}]
}, {
id: 2,
name: '家具'
}];
var flag = false;
var obj = {};
function getById(data, id) {
data.some(function(item) {
if (flag) {
return true;
}
if (item.id == id) {
obj = item;
return true;
} else if (item.goods && item.goods.length > 0) {
getById(item.goods, id);
}
});
console.log(obj);
return obj;
}
console.log(getById(data, 111));