ECMAScript 2018(ES9)中的 Object.entries 和 Object.values 的使用方法
ECMAScript 2018(ES9)是 JavaScript 的最新标准,它包含了很多新特性和改进。其中,Object.entries 和 Object.values 是两个非常实用的扩展。在本文中,我们将详细探讨它们的使用方法,并提供示例代码。
- 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。
- 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."。
- 总结
Object.entries 和 Object.values 是 ECMAScript 2018(ES9)引入的两个扩展特性。它们可以使得 JavaScript 编程更加方便和简单,尤其是在处理对象属性的场景下。通过本文的讲解和示例代码,相信读者已经掌握它们的使用方法和指导意义。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/659fa6d6add4f0e0ff8311cf