运用 ES8 静态对象方法之 Object.entries()、Object.values()

阅读时长 3 分钟读完

ES8 引入了许多新的特性和静态对象方法,其中 Object.entries() 和 Object.values() 是其中两个值得我们深入学习的方法之一。

Object.entries()

Object.entries() 方法返回一个给定对象自身可枚举属性的键值对数组。这个数组包含了该对象的所有属性,包括继承自原型对象的属性,键值对的顺序与通过手动循环对象的属性时一致。

Object.entries() 方法的语法如下:

其中,obj 表示要获取键值对的对象。

下面是一个例子:

Object.values()

Object.values() 方法返回一个给定对象自身可枚举属性的属性值数组。这个数组包含了该对象的所有属性的值,顺序与通过手动循环对象的属性时一致。

Object.values() 方法的语法如下:

其中,obj 表示要获取属性值数组的对象。

下面是一个例子:

示例应用

Object.entries() 和 Object.values() 可以帮助我们更方便地遍历对象。下面介绍两个可以用到这两个方法的例子。

转换对象为 Map

你可以使用 Object.entries() 将对象转换为 Map 对象,示例代码如下:

查找对象中某个属性的值是否唯一

你可以使用 Object.values() 将对象中某个属性的值全部取出,然后利用 Set 去重,如果去重后的长度和原数组长度相等,说明该属性值唯一,否则不唯一,示例代码如下:

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

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

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

总结

Object.entries() 和 Object.values() 方法是非常实用的两个静态对象方法,它们可以帮助我们更方便地遍历对象,转换对象为 Map 对象以及查找对象中某个属性的值是否唯一。希望本文能对您有所帮助。

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

纠错
反馈