📌  相关文章
📜  循环遍历 javascript 对象 - Javascript (1)

📅  最后修改于: 2023-12-03 14:54:15.953000             🧑  作者: Mango

循环遍历 JavaScript 对象

在 JavaScript 中,对象是一种复杂的数据类型,它可以存储键值对。当我们需要遍历对象的属性时,我们可以使用循环来逐个访问每个属性。

以下是在 JavaScript 中循环遍历对象的几种常用方法:

1. for...in 循环

使用 for...in 循环可以遍历对象的所有可枚举属性,包括继承的属性。它会以随机的顺序迭代对象的键名。

const obj = { a: 1, b: 2, c: 3 };

for (let key in obj) {
  if (obj.hasOwnProperty(key)) {
    console.log(key, obj[key]);
  }
}

输出:

a 1
b 2
c 3

请注意,hasOwnProperty() 方法用于检查对象是否具有指定的属性,以避免遍历到继承的属性。

2. Object.keys() 方法

使用 Object.keys() 方法可以返回一个包含对象所有可枚举属性的数组。

const obj = { a: 1, b: 2, c: 3 };

Object.keys(obj).forEach(key => {
  console.log(key, obj[key]);
});

输出:

a 1
b 2
c 3
3. Object.values() 方法

使用 Object.values() 方法可以返回一个包含对象所有可枚举属性值的数组。

const obj = { a: 1, b: 2, c: 3 };

Object.values(obj).forEach(value => {
  console.log(value);
});

输出:

1
2
3
4. Object.entries() 方法

使用 Object.entries() 方法可以返回一个包含对象所有可枚举属性键值对的数组。

const obj = { a: 1, b: 2, c: 3 };

Object.entries(obj).forEach(([key, value]) => {
  console.log(key, value);
});

输出:

a 1
b 2
c 3
5. Object.getOwnPropertyNames() 方法

使用 Object.getOwnPropertyNames() 方法可以返回一个包含对象所有属性(包括不可枚举属性)的数组。

const obj = { a: 1, b: 2, c: 3 };

Object.getOwnPropertyNames(obj).forEach(key => {
  console.log(key, obj[key]);
});

输出:

a 1
b 2
c 3

以上是在 JavaScript 中循环遍历对象的几种常用方法,根据实际情况选择合适的方法来遍历对象的属性和值。