js遍历对象的方法

JavaScript 遍历对象有多种方式,以下是常用的几种方法:

for……in循环

使用 for...in 循环可以遍历对象的可枚举属性,包括自身的属性和继承的属性。

const obj = { name: 'Alice', age: 25, gender: 'female' };
for (let key in obj) {
  console.log(key + ': ' + obj[key]);
}

注意:for...in 循环遍历的顺序不保证按照属性的添加顺序。

Object.keys() 方法配合 forEach 或 for...of 循环

使用 Object.keys() 方法可以获取对象的所有可枚举属性,并返回一个由属性名组成的数组。然后可以使用 forEach 或 for...of 循环遍历该数组,来访问每个属性的值。

const obj = { name: 'Alice', age: 25, gender: 'female' };
Object.keys(obj).forEach(function(key) {
  console.log(key + ': ' + obj[key]);
});

// 或者使用 for...of 循环
for (let key of Object.keys(obj)) {
  console.log(key + ': ' + obj[key]);
}

Object.entries()方法配合 forEach 或 for...of 循环

使用 Object.entries() 方法可以将对象转换为一个由键值对组成的数组。然后可以使用 forEach 或 for...of 循环遍历该数组,来访问每个键值对。

const obj = { name: 'Alice', age: 25, gender: 'female' };
Object.entries(obj).forEach(function([key, value]) {
  console.log(key + ': ' + value);
});

// 或者使用 for...of 循环
for (let [key, value] of Object.entries(obj)) {
  console.log(key + ': ' + value);
}

注意:Object.entries() 方法是在 ES2017 中引入的,所以在一些旧版本的浏览器中可能不支持。

Object.getOwnPropertyNames() 方法配合 forEach 或 for...of 循环

使用 Object.getOwnPropertyNames() 方法可以获取对象的所有属性(包括不可枚举属性),并返回一个由属性名组成的数组。然后可以使用 forEach 或 for...of 循环遍历该数组,来访问每个属性的值。

const obj = { name: 'Alice', age: 25, gender: 'female' };
Object.getOwnPropertyNames(obj).forEach(function(key) {
  console.log(key + ': ' + obj[key]);
});

// 或者使用 for...of 循环
for (let key of Object.getOwnPropertyNames(obj)) {
  console.log(key + ': ' + obj[key]);
}

以上就是 JavaScript 遍历对象的常用方式,根据不同的需求选择不同的方法可以更加方便和灵活地操作对象。

你可能感兴趣的:(javascript,前端,开发语言)