ECMAScript 2018(ES9)中的 Object.entries 和 Object.values 的使用方法

ECMAScript 2018(ES9)中的 Object.entries 和 Object.values 的使用方法

ECMAScript 2018(ES9)是 JavaScript 的最新标准,它包含了很多新特性和改进。其中,Object.entries 和 Object.values 是两个非常实用的扩展。在本文中,我们将详细探讨它们的使用方法,并提供示例代码。

  1. Object.entries

Object.entries 是一个静态方法,它返回一个包含对象所有可枚举属性 [key, value] 键值对的数组。该方法的语法如下:

Object.entries(obj)

其中,obj 参数是要转化为数组的对象。

示例代码:

const obj = { x: 1, y: 2, z: 3 }; const entries = Object.entries(obj); console.log(entries); //[["x", 1], ["y", 2], ["z", 3]]

上述代码中,我们定义了一个对象 obj,然后使用 Object.entries 将其转化为一个包含三个元素的二维数组 entries。调用 console.log 输出 entries,结果为 [ ["x", 1], ["y", 2], ["z", 3] ]。

该方法可以用于遍历对象的属性和值,如下:

const obj = { x: 1, y: 2, z: 3 }; for(const [key, value] of Object.entries(obj)){ console.log(${key}:${value}); } //x:1 //y:2 //z:3

上述代码中,我们将 entries 数组解构为 key 和 value 两个变量,然后使用 for 循环遍历它们,依次输出 key 和 value。

  1. Object.values

Object.values 是一个静态方法,它返回一个数组,包含对象所有的可枚举属性值。该方法的语法如下:

Object.values(obj)

其中,obj 参数是要转化为数组的对象。

示例代码:

const obj = { x: 1, y: 2, z: 3 }; const values = Object.values(obj); console.log(values); // [1, 2, 3]

上述代码中,我们定义了一个对象 obj,然后使用 Object.values 将其转化为一个包含三个元素的数组 values。调用 console.log 输出 values,结果为 [1, 2, 3]。

该方法可以用于查找对象属性的值,如下:

const obj = { x: 1, y: 2, z: 3 }; if(Object.values(obj).includes(2)){ console.log('2 is included in object values.'); } //2 is included in object values.

上述代码中,我们使用 includes 方法查找 obj 对象中是否包含值为 2 的属性值。结果返回 true,并输出 "2 is included in object values."。

  1. 总结

Object.entries 和 Object.values 是 ECMAScript 2018(ES9)引入的两个扩展特性。它们可以使得 JavaScript 编程更加方便和简单,尤其是在处理对象属性的场景下。通过本文的讲解和示例代码,相信读者已经掌握它们的使用方法和指导意义。

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


纠错反馈