ES9 中新增的 Object.values() 方法详解

阅读时长 3 分钟读完

ES9 中新增的 Object.values() 方法详解

ECMAScript 2018(简称 ES9)已经发布了,其中针对对象的扩展也有不少改进。本文介绍其中一个新增的方法——Object.values(),并深度探讨其应用场景和使用技巧,希望能对前端开发者有所帮助。

什么是 Object.values() 方法

Object.values() 方法返回一个包含一个对象中所有可枚举属性值的数组。

它的定义如下:

其中,obj 表示需要返回属性值的对象,返回结果是:obj 中所有可枚举属性值的数组。

示例代码

可以看到,通过 Object.values() 方法,我们可以方便地将一个对象的属性值取出来得到一个数组,使得我们能更加方便地使用这些属性值。

深入探究 Object.values() 方法

Object.values() 方法可以很方便地获取一个对象的属性值,但对于对象的键名,该方法没有提供任何方式来获取。

那么,如果要获取一个对象的键名,有什么方法可以使用呢?

解决方法

实际上,ES2017(ES8)引入了 Object.entries() 方法,该方法可以返回一个数组,包含一个对象中所有可枚举属性的键值对,其中数组中每个对象的第一项为键名,第二项为键值。

聪明的读者肯定想到了:可以将 Object.entries() 方法返回的数组转换为对象,从而得到一个对象的键名。

下面是这个过程的示例代码:

-- -------------------- ---- -------
-- -- ---------------- --
----- --- - -
  ----- -----
  ---- ---
  ---- ------
-
----- ------- - -------------------
----- ---- - --
---------------------- -- ------------- - --------
-----------------     -- ------ ----- ---- --- ---- -------

当然,如果只需要获取一个对象的键名,可以利用数组的解构赋值来简化代码:

-- -------------------- ---- -------
-- --------
----- --- - -
  ----- -----
  ---- ---
  ---- ------
-
----- ------- - -------------------
----- ---- - --
---------------------- ------- -- --------- - ------
-----------------     -- ------ ----- ---- --- ---- -------

总结

本文介绍了 ES9 中的 Object.values() 方法,该方法可以方便地将一个对象的属性值取出来得到一个数组。

同时,针对对象的键名,可以使用 ES2017 中的 Object.entries() 方法获取每个键名和其对应的属性值的数组,再转换成对象得到对应的键名。

通过深度探讨 Object.values() 方法的应用场景和使用技巧,希望对前端开发者有所启示和帮助。

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

纠错
反馈

程序员教程

精选优质教程,助你快速提升技术实力

程序员面试题库

海量优质面试题,助你轻松应对技术面试