var data = [{
id: 1,
name: '家电',
goods: [{
id: 11,
name: '冰箱',
goods: [{
id: 112,
name: '海尔',
}, {
id: 113,
name: '美的',
}]
}, {
id: 12,
name: '洗衣机',
}, {
id: 13,
name: '电视机',
}],
},
{
id: 2,
name: '服饰',
goods: [{
id: 21,
name: '冰箱',
}, {
id: 22,
name: '洗衣机',
}, {
id: 23,
name: '电视机',
}]
},
]
// 需求:输入ID号,就可以返回对应的数据对象
// 思路:1.利用forEach去遍历里面的每一个对象
var o = {}
function getID(json, id) {
json.forEach(function(item) {
if (id == item.id) {
o = item
// 2.想要得到里层的数据11,12 可以;利用递归函数
// 判断里面有goods数组,并且数组长度不为0
} else if (item.goods && item.goods.length > 0) {
o = getID(item.goods, id)
}
// console.log('没有对应的数据')
})
return o
}
console.log(getID(data, 21))
console.log(getID(data, 112))