ES7/ES2016 中 Object.values() 和 Object.entries() 方法的使用方法
在 ES7/ES2016 中,JavaScript 引入了两个新的对象方法 Object.values() 和 Object.entries(),这两个方法可以帮助我们更加方便地操作对象。本文将详细介绍这两个方法的使用方法,包括示例代码。
一、Object.values() 方法
Object.values() 方法返回一个给定对象中所有可枚举属性的值的数组。具体来说,它会返回一个包含对象中所有属性值的数组。该数组的顺序是和使用 for...in 循环遍历对象时返回的顺序一致的。
以下是 Object.values() 方法的语法:
Object.values(obj)
其中 obj 为要返回属性值的对象。
下面是一个简单的示例,演示了如何使用 Object.values() 方法来获取对象中所有的属性值:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); // [1, 2, 3]
在这个示例中,我们先创建了一个包含三个属性的对象。然后,我们使用 Object.values() 方法来获取该对象中所有的属性值,并将结果赋值给 values 变量。最后,我们将 values 数组输出到控制台,可以看到它确实包含了该对象中所有的属性值。
同时,我们也可以使用 Object.values() 方法来迭代一个对象的属性值:
const obj = { a: 1, b: 2, c: 3 }; Object.values(obj).forEach(val => { console.log(val); }); // 1 // 2 // 3
二、Object.entries() 方法
Object.entries() 方法返回一个给定对象中所有可枚举属性的键值对数组。具体来说,它会返回一个由一组数组组成的数组。每个数组都包含两个元素,第一个是属性名,第二个是属性值。
以下是 Object.entries() 方法的语法:
Object.entries(obj)
其中 obj 为要返回键值对的对象。
下面是一个示例,演示了如何使用 Object.entries() 方法来获取对象中所有的键值对:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]
在这个示例中,我们先创建了一个包含三个属性的对象。然后,我们使用 Object.entries() 方法来获取该对象中所有的键值对,并将结果赋值给 entries 变量。最后,我们将 entries 数组输出到控制台,可以看到它确实包含了该对象中所有的键值对。
同时,我们也可以使用 Object.entries() 方法来迭代一个对象的键值对:
const obj = { a: 1, b: 2, c: 3 }; Object.entries(obj).forEach(([key, val]) => { console.log(`${key}: ${val}`); }); // a: 1 // b: 2 // c: 3
从这个示例中可以看出,我们可以使用数组解构语法来访问键值对中的键和值。
三、总结
本文介绍了 ES7/ES2016 中 Object.values() 和 Object.entries() 方法的使用方法。这两个方法都可以帮助我们更加方便地操作对象。Object.values() 方法返回一个包含对象所有属性值的数组,而 Object.entries() 方法返回一个包含对象所有键值对的数组。使用这两个方法,我们可以更加方便地访问和操作对象的属性值和键值对。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/654dd5e97d4982a6eb735db8