c语言编程笔录

首页 >   > 笔记大全

笔记大全

es6遍历对象的方法有哪些

更新时间:2024-01-12

ES6遍历对象的方法

在ES6之前,遍历对象的方法比较繁琐,需要使用for...in循环来获取对象的键值对。而在ES6中,引入了一些新的语法来简化对象的遍历。下面将介绍四种常用的ES6遍历对象的方法。

1. Object.keys()

Object.keys()方法返回一个包含对象自身的所有可枚举属性的数组,属性名称为字符串。可以使用for...of循环来遍历该数组,进而遍历对象的属性。

const obj = {a: 1, b: 2, c: 3};
const keys = Object.keys(obj);
for (const key of keys) {
  console.log(key, obj[key]);
}

上述代码中,首先使用Object.keys()方法获取到obj对象的所有属性名称,然后通过for...of循环遍历属性名称数组,再通过obj[key]来获取属性值。

2. Object.values()

Object.values()方法返回一个包含对象自身的所有可枚举属性的值的数组,值可以是任意类型。同样可以使用for...of循环来遍历该数组,进而遍历对象的属性值。

const obj = {a: 1, b: 2, c: 3};
const values = Object.values(obj);
for (const value of values) {
  console.log(value);
}

上述代码中,通过Object.values()方法获取到obj对象的所有属性值,然后使用for...of循环遍历属性值数组,直接输出属性值。

3. Object.entries()

Object.entries()方法返回一个包含对象自身的所有可枚举属性的键值对的数组,每个键值对以数组形式表示。同样可以使用for...of循环来遍历该数组,进而遍历对象的键值对。

const obj = {a: 1, b: 2, c: 3};
const entries = Object.entries(obj);
for (const [key, value] of entries) {
  console.log(key, value);
}

上述代码中,通过Object.entries()方法获取到obj对象的所有键值对数组,然后使用for...of循环解构赋值遍历键值对数组,分别输出键和值。

4. Object.getOwnPropertyNames()

Object.getOwnPropertyNames()方法返回一个包含对象自身的所有属性(不包括继承属性)的数组,属性名称为字符串。同样可以使用for...of循环遍历该数组,进而遍历对象的属性。

const obj = {a: 1, b: 2, c: 3};
const propertyNames = Object.getOwnPropertyNames(obj);
for (const propertyName of propertyNames) {
  console.log(propertyName, obj[propertyName]);
}

上述代码中,通过Object.getOwnPropertyNames()方法获取到obj对象的所有属性名称,然后使用for...of循环遍历属性名称数组,再通过obj[propertyName]来获取属性值。

总结

通过使用ES6提供的Object.keys()、Object.values()、Object.entries()和Object.getOwnPropertyNames()等方法,可以更便捷地遍历对象的属性和属性值。这些方法不仅简化了代码,而且提高了代码的可读性和可维护性,使得开发人员能够更加高效地操作对象。