奉上 ES2017 最新技巧:Object.values 和 Object.entries

ES2017 是 ECMAScript 的第八个版本,也被称为 ECMAScript 2017。它为 JavaScript 带来了许多新的特性和改进。其中两个特性是 Object.values 和 Object.entries,它们让我们更方便地操作对象,提高了代码的可读性和可维护性。

Object.values

Object.values 方法返回一个给定对象自身的所有可枚举属性值的数组。它的语法如下:

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

其中,obj 是要返回值的对象。

下面是一个简单的示例:

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

在上面的示例中,我们创建了一个对象,然后使用 Object.values 方法返回了它的所有属性值。

Object.values 方法返回的数组中的元素顺序与使用 for...in 循环遍历对象时返回的顺序相同。如果对象的属性值是一个对象,那么返回的是这个对象的引用。如果对象的属性值是一个函数,那么返回的是函数的字符串表示。

Object.values 方法可以用于许多场景,例如:

  • 获取对象属性值的数组
  • 检查对象是否有某个属性值

下面是一个示例,演示了如何使用 Object.values 方法获取对象属性值的数组:

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

Object.entries

Object.entries 方法返回一个给定对象自身的所有可枚举属性的键值对数组。它的语法如下:

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

其中,obj 是要返回值的对象。

下面是一个简单的示例:

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

在上面的示例中,我们创建了一个对象,然后使用 Object.entries 方法返回了它的所有键值对。

Object.entries 方法返回的数组中的元素顺序与使用 for...in 循环遍历对象时返回的顺序相同。每个键值对都是一个数组,第一个元素是属性名,第二个元素是属性值。如果对象的属性值是一个对象,那么返回的是这个对象的引用。如果对象的属性值是一个函数,那么返回的是函数的字符串表示。

Object.entries 方法可以用于许多场景,例如:

  • 将对象转换为 Map 对象
  • 将对象转换为数组

下面是一个示例,演示了如何使用 Object.entries 方法将对象转换为 Map 对象:

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

总结

Object.values 和 Object.entries 是 ES2017 中的两个新特性,它们让我们更方便地操作对象,提高了代码的可读性和可维护性。Object.values 方法返回一个给定对象自身的所有可枚举属性值的数组,而 Object.entries 方法返回一个给定对象自身的所有可枚举属性的键值对数组。它们可以用于许多场景,例如获取对象属性值的数组、检查对象是否有某个属性值、将对象转换为 Map 对象、将对象转换为数组等。

在实际开发中,我们可以根据具体的需求来选择使用 Object.values 或 Object.entries 方法,从而让代码更加简洁、优雅、易于维护。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66067bd5d10417a2224c1daf