要遍历嵌套在对象中的数组,可以使用递归方法来实现。以下是一个示例代码:
function traverseNestedArray(obj) {
for (let key in obj) {
if (Array.isArray(obj[key])) { // 如果当前属性的值是数组
console.log(`Array found: ${key}`);
obj[key].forEach(item => {
if (typeof item === 'object') { // 如果数组元素是对象,则递归调用遍历函数
traverseNestedArray(item);
} else {
console.log(item); // 否则直接打印数组元素
}
});
} else if (typeof obj[key] === 'object') { // 如果当前属性的值是对象,则递归调用遍历函数
traverseNestedArray(obj[key]);
} else {
console.log(`${key}: ${obj[key]}`); // 否则直接打印属性和对应的值
}
}
}
// 示例对象
let data = {
name: 'John',
age: 30,
hobbies: ['reading', 'sports'],
address: {
street: '123 Main St',
city: 'New York',
countries: ['USA', 'Canada']
}
};
// 调用遍历函数
traverseNestedArray(data);
以上代码会遍历对象 data
中的每个属性,并在控制台打印出属性和对应的值。如果属性的值是数组,则会打印数组元素;如果数组元素是对象,则会递归调用遍历函数进行嵌套遍历。
上一篇:遍历嵌套映射
下一篇:遍历嵌套在结构体中的数组