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))
标签:遍历,console,name,递归函数,getID,利用,goods,item,id From: https://www.cnblogs.com/hs20011205/p/17072439.html