let data = [{
id: 1,
name: '家电',
goods: [{
id: 11,
gname: '冰箱',
goods: [{
id: 111,
gname: '海尔'
}, {
id: 112,
gname: '美的'
}, ]
}, {
id: 12,
gname: '洗衣机'
}]
}, {
id: 2,
name: '服饰'
}];
const wrapper = function(){
let cengshu = 0
function getID(json, id) {
console.log(`进入第${++cengshu}层`)
let o = {};
json.forEach(function(item) {
if (item.id == id) {
o = item;
} else if (item.goods?.length) {
o = getID(item.goods, id);
}
});
console.log(`退出第${cengshu--}层`)
return o;
};
return getID
}
const getID = wrapper()
console.log(getID(data, 1));
console.log(getID(data, 2));
console.log(getID(data, 11));
console.log(getID(data, 12));
|