📜  如何迭代 JavaScript 对象?(1)

📅  最后修改于: 2023-12-03 15:24:56.328000             🧑  作者: Mango

如何迭代 JavaScript 对象?

JavaScript 中的对象是非常常见的数据类型之一,它可以存储各种类型的数据并将它们组织在一起。当你需要对一个 JavaScript 对象进行遍历时,你可以使用不同的方法。在本文中,我们将向您介绍 JS 中几种常见的对象迭代技巧。

1. for-in 循环

for-in 循环是一种简单而直接的方法,可以用来遍历 JavaScript 对象中的属性。for-in 循环将迭代对象本身以及其原型链中可枚举的属性。下面是一个示例:

let person = { name: 'john', age: 30, occupation: 'developer' };

for (let prop in person) {
  console.log(prop + ': ' + person[prop]);
}

这将输出:

name: john
age: 30
occupation: developer

注意,for-in 循环也会迭代从原型链继承的属性。如果您不希望这样做,您可以使用 hasOwnProperty() 方法来过滤掉这些属性:

for (let prop in person) {
  if (person.hasOwnProperty(prop)) {
    console.log(prop + ': ' + person[prop]);
  }
}
2. Object.keys()

Object.keys() 方法将返回一个给定对象自身可枚举属性的属性名数组。您可以使用这些值来迭代属性的值。下面是一个示例:

let person = { name: 'john', age: 30, occupation: 'developer' };
let keys = Object.keys(person);

for (let i = 0; i < keys.length; i++) {
  let key = keys[i];
  console.log(key + ': ' + person[key]);
}

这将输出:

name: john
age: 30
occupation: developer
3. Object.values()

Object.values() 方法将返回一个给定对象自身可枚举属性的属性值数组。您可以使用这些值来迭代属性的值。下面是一个示例:

let person = { name: 'john', age: 30, occupation: 'developer' };
let values = Object.values(person);

for (let i = 0; i < values.length; i++) {
  console.log(values[i]);
}

这将输出:

john
30
developer
4. Object.entries()

Object.entries() 方法将返回一个给定对象自身可枚举属性的键值对数组。您可以使用这些值来迭代对象的属性及其值。下面是一个示例:

let person = { name: 'john', age: 30, occupation: 'developer' };
let entries = Object.entries(person);

for (let i = 0; i < entries.length; i++) {
  let key = entries[i][0];
  let value = entries[i][1];
  console.log(key + ': ' + value);
}

这将输出:

name: john
age: 30
occupation: developer
总结

这是 JavaScript 中迭代对象的一些方法。for-in 循环很方便,但是请注意它还会迭代原型链中的属性。Object.keys() 可以避免这个问题,而 Object.values() 和 Object.entries() 可以更好地组织属性和值。使用这些方法,您可以遍历 JavaScript 对象并获取您想要的数据。