JavaScript 如何循环遍历一个普通对象,其中对象作为成员

JavaScript 如何循环遍历一个普通对象,其中对象作为成员

循环遍历一个普通的JavaScript对象,其中对象作为成员,意味着迭代对象的每个属性并访问其值,这些值也可能是对象。这是JavaScript中常见的任务,特别是在处理JSON数据或API时。

有几种方法可以循环遍历一个普通的JavaScript对象,其中对象作为成员。以下是四种常用的方法:

  • 使用For…in循环
  • 使用Object.keys()
  • 使用Object.entries()
  • 使用Object.Values()

方法1:使用For…in循环

这种方法使用for…in循环迭代对象的每个属性并访问其值。对于每个属性,循环将键设置为属性的名称,值设置为属性的值。当您想要对对象的每个属性执行相似的操作时,这种方法非常有用。

语法:

//for...in loop  
for (let key in object) {  
    // do something with object[key]  
}

示例: 使用 for…in 循环遍历一个拥有对象为成员的对象。

Javascript

let person = {
    name: "John",
    age: 30,
    address: {
        street: "123 Main St",
        city: "Anytown",
        state: "CA",
        zip: "12345"
    }
};
for (let key in person) {
    console.log(key + ": " + person[key]);
};

输出

name: John
age: 30
address: [object Object]

方法 2:使用 Object.keys()

这种方法使用 Object.keys() 方法获取对象中所有键的数组。然后使用 forEach() 方法遍历数组中的每个键,并访问其对应的值。当您想对对象中的每个键执行特定操作时,此方法非常有用。

语法:

// Object.keys()  
Object.keys(object).forEach(function (key) {  
    // do something with object[key]  
});

示例: 使用Object.keys()迭代一个对象,其中成员是对象

Javascript

const myObj = {
    prop1: { name: 'John', age: 25 },
    prop2: { name: 'Sarah', age: 30 },
    prop3: { name: 'Tom', age: 20 }
};
 
const newArray = Object.keys(myObj).map(key => {
    const obj = myObj[key];
    return { ...obj, id: key };
    // Adding an id property to the object
});
 
console.log(newArray);

输出

[
  { name: 'John', age: 25, id: 'prop1' },
  { name: 'Sarah', age: 30, id: 'prop2' },
  { name: 'Tom', age: 20, id: 'prop3' }
]

方法3:使用 Object.entries()

此方法使用 Object.entries() 方法获取对象中所有键值对的数组。然后使用 forEach() 方法遍历每个键值对并访问值,该值可能是一个对象。此方法在希望对对象中的每个键值对执行特定操作时非常有用。

语法:

// Object.entries()  
Object.entries(object).forEach(function([key, value]) {  
    // do something with value (which could be an object)  
});

示例: 使用Object.entries()迭代具有对象成员的对象。

JavaScript

let person = {
    name: "John",
    age: 30,
    address: {
        street: "123 Main St",
        city: "Anytown",
        state: "CA",
        zip: "12345"
    }
};
Object.entries(person).forEach(([key, value]) => {
    console.log(key + ": " + value);
});

输出

name: John
age: 30
address: [object Object]

方法4:使用 Object.Values()

在这个方法中,Object.values()会从对象中返回一个值的数组。它用于循环遍历值,访问person对象中的属性,并打印出姓名和年龄。

语法:

Object.values(obj)

示例: 使用Object.values(),循环遍历person对象中的对象,并记录它们的名称和年龄。

Javascript

const person = {
    obj1: { name: "John", age: 30 },
    obj2: { name: "Jane", age: 25 },
    obj3: { name: "Bob", age: 40 }
};
 
Object.values(person).forEach(obj => {
    console.log("name :" + obj.name, "age :" + obj.age);
});

输出

name :John age :30
name :Jane age :25
name :Bob age :40

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程