要遍历嵌套 JavaScript 对象并定位具有特定标签的对象,请按照以下步骤操作:
递归地迭代嵌套对象:
const iterate = (obj) => { Object.keys(obj).forEach(key => { console.log(`key: ${key}, value: ${obj[key]}`) if (typeof obj[key] === 'object' && obj[key] !== null) { iterate(obj[key]) } }) } iterate(obj); // obj is the main object to be traversed
对于非递归方法:
const iterate = (obj) => { const stack = [obj]; while (stack?.length > 0) { const currentObj = stack.pop(); Object.keys(currentObj).forEach(key => { console.log(`key: ${key}, value: ${currentObj[key]}`); if (typeof currentObj[key] === 'object' && currentObj[key] !== null) { stack.push(currentObj[key]); } }); } };
考虑以下嵌套对象:
var cars = { label: 'Autos', subs: [ { label: 'SUVs', subs: [] }, { label: 'Trucks', subs: [ { label: '2 Wheel Drive', subs: [] }, { label: '4 Wheel Drive', subs: [ { label: 'Ford', subs: [] }, { label: 'Chevrolet', subs: [] } ] } ] }, { label: 'Sedan', subs: [] } ] };
检索带有标签 " 的对象4 Wheel Drive”使用递归方法,调用:
iterate(cars);
要使用非递归方法检索相同的对象,调用:
iterate(cars);
这将记录所有密钥 -嵌套对象中的值对,包括所需的对象。
以上是如何通过标签查找嵌套 JavaScript 对象中的特定对象?的详细内容。更多信息请关注PHP中文网其他相关文章!