📜  js percorrer objeto - Javascript (1)

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

JS 遍历对象 - Javascript

在 Javascript 中,对象是基本类型之一,经常需要遍历对象的属性以获取或修改属性的值。

本文将介绍几种遍历对象的方法。

1. for...in 循环

for...in 循环是最基本的遍历对象的方法。它可以遍历对象的非继承属性,但不能保证顺序。

let obj = {
  name: "John",
  age: 30,
  city: "New York"
};

for(let key in obj) {
  console.log(key + ": " + obj[key]);
}

输出:

name: John
age: 30
city: New York
2. Object.keys() 方法

Object.keys() 方法返回一个包含对象非继承属性名称的数组。可以使用 Array.forEach() 方法来遍历这个数组。

let obj = {
  name: "John",
  age: 30,
  city: "New York"
};
let keys = Object.keys(obj);

keys.forEach(function(key) {
  console.log(key + ": " + obj[key]);
});

输出:

name: John
age: 30
city: New York
3. Object.values() 方法

Object.values() 方法返回一个包含对象非继承属性值的数组。可以使用 Array.forEach() 方法来遍历这个数组。

let obj = {
  name: "John",
  age: 30,
  city: "New York"
};
let values = Object.values(obj);

values.forEach(function(value) {
  console.log(value);
});

输出:

John
30
New York
4. Object.entries() 方法

Object.entries() 方法返回一个包含对象非继承属性名称和值的数组。可以使用 Array.forEach() 方法来遍历这个数组。

let obj = {
  name: "John",
  age: 30,
  city: "New York"
};
let entries = Object.entries(obj);

entries.forEach(function(entry) {
  console.log(entry[0] + ": " + entry[1]);
});

输出:

name: John
age: 30
city: New York
5. Object.getOwnPropertyNames() 方法

Object.getOwnPropertyNames() 方法返回一个包含对象所有属性名称的数组,包括不可枚举的属性。可以使用 Array.forEach() 方法来遍历这个数组。

let obj = {
  name: "John",
  age: 30,
  city: "New York"
};
let names = Object.getOwnPropertyNames(obj);

names.forEach(function(name) {
  console.log(name + ": " + obj[name]);
});

输出:

name: John
age: 30
city: New York

以上是几种常见的遍历对象的方法。

对于需要遍历继承属性的场合,可以使用 for...in 循环和 Object.getOwnPropertyNames() 方法的结合。