ECMAScript 2021 中的 Object.values() 和 Object.entries() 方法
ECMAScript 2021(简称 ES2021)是 JavaScript 语言的最新版本,其中包含了许多新的特性和方法。其中,Object.values() 和 Object.entries() 方法是两个非常实用的方法,本文将详细介绍它们的用法和指导意义。
Object.values() 方法
Object.values() 方法返回一个对象自身的所有可枚举属性值的数组。简单来说,就是将一个对象的所有属性值提取出来,以数组的形式返回。
语法:
Object.values(obj)
参数:
- obj:要提取属性值的对象。
返回值:
- 一个数组,包含对象的所有可枚举属性值。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); // [1, 2, 3]
在上面的示例中,我们创建了一个包含三个属性的对象,然后使用 Object.values() 方法将其所有属性值提取出来,并将结果保存在一个数组中,最后将数组打印到控制台中。
Object.entries() 方法
Object.entries() 方法返回一个对象自身的所有可枚举属性的键值对数组。简单来说,就是将一个对象的所有属性和属性值提取出来,以数组的形式返回。
语法:
Object.entries(obj)
参数:
- obj:要提取属性和属性值的对象。
返回值:
- 一个数组,包含对象的所有可枚举属性的键值对。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]
在上面的示例中,我们创建了一个包含三个属性的对象,然后使用 Object.entries() 方法将其所有属性和属性值提取出来,并将结果保存在一个数组中,最后将数组打印到控制台中。
指导意义
Object.values() 和 Object.entries() 方法的出现,使得我们能够更加方便地操作对象的属性和属性值。在实际的开发中,我们可以使用这两个方法来实现一些常见的操作,比如:
- 遍历对象的属性和属性值;
- 判断对象中是否包含某个属性;
- 将对象的属性和属性值转化为其他数据结构,比如 Map。
需要注意的是,Object.values() 和 Object.entries() 方法只会提取对象自身的可枚举属性值和键值对,不会包含原型链上的属性。如果需要遍历原型链上的属性,可以使用 for...in 循环。
总结
Object.values() 和 Object.entries() 方法是 ECMAScript 2021 中新增的两个方法,可以方便地提取对象的属性值和键值对,并将其转化为数组。在实际的开发中,我们可以使用这两个方法来实现各种操作,提高代码的效率和可读性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65ca9541add4f0e0ff474736