ES10 的 Object.values() 和 Object.entries() 方法使用详解

阅读时长 4 分钟读完

ES10 的 Object.values() 和 Object.entries() 方法使用详解

ES10 作为 JavaScript 最新的语言标准,引入了许多新的功能和 API。其中,Object.values() 和 Object.entries() 方法是两个非常实用的 API,它们可以极大地促进 JavaScript 前端开发的效率。在本文中,我们将详细介绍这两个方法的使用方法和注意事项。

  1. Object.values() 方法

Object.values() 方法是一个静态方法,接收一个对象作为参数,并返回一个数组,该数组包含给定对象中所有可枚举属性的值。该方法在我们需要获取对象属性值集合时非常有用。下面是一个简单的示例:

使用该方法时需要注意,只有对象属性值是可枚举的时,它们才会被返回到数组中。如果需要获取对象的所有属性,包括不可枚举的属性,应该使用 Object.getOwnPropertyNames() 方法。

  1. Object.entries() 方法

Object.entries() 方法与 Object.values() 方法类似,不同之处在于它返回的是一个数组,该数组的元素是键值对数组。这两个数组分别包含对象的属性和属性值。下面是一个示例:

可以看到,该方法返回的是由键值对组成的数组,每个键值对是一个数组,第一个元素是对象的属性,第二个元素是该属性的值。

Object.entries() 方法也需要注意一些事项。与 Object.values() 方法一样,该方法也只返回可枚举的属性。如果需要获取不可枚举属性的键值对,应该使用 Object.getOwnPropertyNames() 方法。

  1. 应用示例

下面是一些使用 Object.values() 和 Object.entries() 方法的实际示例。

3.1 筛选数组

如果需要将一个对象转为数组,并且只返回某些属性的值,可以使用 Object.values() 方法结合数组的 filter() 方法。例如:

可以看到,这里先将对象转为了数组,然后用 filter() 方法筛选了值不为 2 的元素。

3.2 使用 for-of 循环

Object.values() 和 Object.entries() 方法可以与 for-of 循环结合使用,方便遍历对象的属性。例如:

可以看到,在 for-of 循环中使用这两个方法非常方便,可以直接遍历属性和属性值。

  1. 总结

Object.values() 和 Object.entries() 方法是 JavaScript 新语言标准 ES10 中引入的两个方法。它们可以极大地促进 JavaScript 前端开发的效率,可以方便地获取对象的属性值集合或者键值对数组。使用这两个方法时,需要注意只有可枚举属性的值才会被返回到数组中。同时可以结合 filter() 方法或者 for-of 循环等语法元素进行使用,实现更为实用的操作。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e2f800f6b2d6eab3e44b88

纠错
反馈