ES9 中新出现的 API:Object.entries() 和 Object.values()
在 ES9 中,我们看到了两个新的 API:Object.entries()
和 Object.values()
。它们可以让我们更方便地处理对象的数据。
Object.entries()
Object.entries()
方法返回一个包含给定对象所有属性键值对的数组。返回的数组中,每个元素是一个长度为2的数组,表示对象的一个键值对,第一个元素是键名,第二个元素是对应的值。该方法不仅仅作用于普通对象,还适用于其他可迭代的数据结构。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // 输出 [["a", 1], ["b", 2], ["c", 3]]
使用 Object.entries() 方法的一个示例应用场景是,在需要对对象进行遍历时,将对象转换成一个 Map 或者数组更加便利,利用 for..of
语句遍历数组。
const obj = { a: 1, b: 2, c: 3 }; for (const [key, value] of Object.entries(obj)) { console.log(key, value); } // 输出 a 1 b 2 c 3
Object.values()
Object.values()
方法返回一个包含给定对象所有属性值的数组。与Object.entries()
不同的是,该方法只返回对象的值,而不返回键名。
示例代码:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); // 输出 [1, 2, 3]
使用 Object.values()
方法,我们可以方便地获取对象的所有属性值,用于对值的相关处理操作,比如求和运算。
const obj = { a: 1, b: 2, c: 3 }; const sum = Object.values(obj).reduce((a, v) => a + v, 0); console.log(sum); // 输出 6
总结
在 ES9 中,Object.entries()
和 Object.values()
两个方法为我们操作对象带来了很方便的方式。我们可以使用 Object.entries()
方法来遍历对象,获取键值对,然后进行相关处理;使用 Object.values()
方法来获取对象的所有属性值,用于对值的相关处理操作。
值得一提的是,Object.entries()
也可以轻松将对象转换成 Map,而 Object.values()
可以使对象更灵活地进行计算操作。
总而言之,不断更新的 ES 规范表明了前端领域拥有着较高的技术迭代速度和创新力,我们需要不断跟进学习和实践,尝试更好地运用新的技术和 API。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65483e667d4982a6eb286111