要遍历包含对象数组的对象的键和值,你可以使用嵌套的循环来访问每个对象的属性和值。以下是一个示例代码,演示了如何实现这个功能:
// 定义包含对象数组的对象
const data = {
obj1: {
name: 'John',
age: 30,
hobbies: ['reading', 'painting']
},
obj2: {
name: 'Jane',
age: 25,
hobbies: ['swimming', 'dancing']
}
};
// 使用嵌套循环遍历对象数组的对象键和值
for (let key in data) {
if (data.hasOwnProperty(key)) {
console.log('Object key:', key);
console.log('Object value:', data[key]);
console.log('---');
// 遍历对象数组的对象键和值
for (let innerKey in data[key]) {
if (data[key].hasOwnProperty(innerKey)) {
console.log('Inner key:', innerKey);
console.log('Inner value:', data[key][innerKey]);
console.log('---');
}
}
}
}
这段代码首先使用for...in
循环遍历包含对象数组的对象的键。在每次循环中,我们打印出对象的键和值,并使用另一个嵌套的for...in
循环遍历每个对象的属性和值。在第二个循环中,我们打印出对象数组的对象的键和值。
请注意,我们在使用for...in
循环之前使用了hasOwnProperty
方法来检查对象是否具有该键,以避免遍历到原型链上的属性。