ECMAScript 2019 中的 Object.values() 和 Object.entries(),让你的对象操作更加简单!
在前端开发中,经常需要对对象进行操作,例如获取对象的属性值、遍历对象等。而在 ECMAScript 2019 中,新增了 Object.values() 和 Object.entries() 方法,可以更加简单方便地对对象进行操作。
Object.values() 方法可以返回一个由对象的所有属性值组成的数组,而 Object.entries() 方法则返回一个由对象的键值对组成的数组。下面我们分别介绍它们的用法和示例代码。
Object.values()
Object.values() 方法的语法如下:
------------------
其中,obj 表示要获取属性值的对象。该方法返回一个由 obj 对象的属性值组成的数组。
下面是一个示例代码:
----- --- - --- -- -- -- -- --- ----- ------ - ------------------- -------------------- -- --- -- --
在上述示例中,我们定义了一个对象 obj,并使用 Object.values() 方法获取了该对象的属性值,并将其保存在 values 变量中。最后将 values 数组输出到控制台中。
Object.entries()
Object.entries() 方法的语法如下:
-------------------
其中,obj 表示要获取键值对的对象。该方法返回一个由 obj 对象的键值对组成的数组,每个键值对都是一个长度为 2 的数组,第一个元素为键,第二个元素为值。
下面是一个示例代码:
----- --- - --- -- -- -- -- --- ----- ------- - -------------------- --------------------- -- ------ --- ----- --- ----- ---
在上述示例中,我们定义了一个对象 obj,并使用 Object.entries() 方法获取了该对象的键值对,并将其保存在 entries 变量中。最后将 entries 数组输出到控制台中。
应用场景
Object.values() 和 Object.entries() 方法可以简化我们对对象的操作。例如,我们可以使用 Object.values() 方法来计算对象属性的总和:
----- --- - --- -- -- -- -- --- ----- ------ - ------------------- ----- --- - ------------------- ---- -- --- - ---- --- ----------------- -- -
在上述示例中,我们先使用 Object.values() 方法获取了对象 obj 的属性值,然后使用 reduce() 方法将属性值累加起来,得到了属性值的总和。
而 Object.entries() 方法则可以方便地遍历对象的键值对:
----- --- - --- -- -- -- -- --- ----- ------- - -------------------- --- ------ ----- ------ -- -------- - -------------------- ----------- - -- -- - -- -- - -- -- -
在上述示例中,我们使用 Object.entries() 方法获取了对象 obj 的键值对,然后使用 for...of 循环遍历每个键值对,输出键和值。
总结
Object.values() 和 Object.entries() 方法是 ECMAScript 2019 中新增的两个方法,可以方便地对对象进行操作。Object.values() 方法可以返回对象的属性值数组,而 Object.entries() 方法则可以返回对象的键值对数组。它们的应用场景非常广泛,可以用来计算属性值的总和、遍历对象键值对等。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/660cac07d10417a222cfa6f6