ES9:JavaScript 中使用 Object.values() 和 Object.entries()

在 ES9 中,JavaScript 引入了两个新的对象方法:Object.values() 和 Object.entries()。这两个方法可以方便地获取对象的属性值和键值对数组。

Object.values()

Object.values() 方法返回一个包含对象所有属性值的数组,顺序与 for...in 循环遍历对象时的顺序一致。如果对象没有属性,返回一个空数组。

语法

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

参数

  • obj:要获取属性值的对象。

返回值

一个包含对象所有属性值的数组。

示例

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

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

Object.entries()

Object.entries() 方法返回一个包含对象所有键值对的数组,顺序与 for...in 循环遍历对象时的顺序一致。每个键值对都是一个包含两个元素的数组,第一个元素为键名,第二个元素为对应的属性值。如果对象没有属性,返回一个空数组。

语法

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

参数

  • obj:要获取键值对的对象。

返回值

一个包含对象所有键值对的数组。

示例

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

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

应用场景

获取对象属性值数组

使用 Object.values() 方法可以方便地获取对象所有属性值的数组。例如,可以用它来计算对象属性值的总和、平均值等。

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

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

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

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

过滤对象属性

使用 Object.entries() 方法可以方便地过滤对象属性。例如,可以用它来过滤出满足条件的属性,然后再将它们转换为一个新对象。

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

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

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

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

转换对象属性

使用 Object.entries() 和 Object.fromEntries() 方法可以方便地转换对象属性。例如,可以用它来将对象的属性名和属性值互换。

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

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

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

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

总结

ES9 中引入了 Object.values() 和 Object.entries() 方法,它们可以方便地获取对象的属性值和键值对数组。使用这两个方法可以简化代码、提高效率,并且可以应用于各种场景,如获取对象属性值数组、过滤对象属性、转换对象属性等。在实际开发中,可以结合其他方法和语法,发挥出更大的威力。

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