在 ES6 中,JavaScript 新增了许多语法和函数,其中 Object.entries() 和 Object.values() 是两个非常实用的函数,它们可以帮助我们更好地处理对象属性。本文将详细介绍这两个函数的用法及其指导意义。
Object.entries()
Object.entries() 函数是在 ES2017 中引入的。它的作用是返回一个给定对象的键值对数组,这些键值对是以数组形式保存的,其中第一个元素是键名,第二个元素是对应的值。
Object.entries({a: 1, b: 2, c: 3}); // Output: [["a", 1], ["b", 2], ["c", 3]]
我们可以很容易地将这个返回值转换成 Map 对象:
const obj = {a: 1, b: 2, c: 3}; const map = new Map(Object.entries(obj)); console.log(map); // Output: Map(3) {"a" => 1, "b" => 2, "c" => 3}
利用 Object.entries(),我们可以很方便地遍历对象属性:
const obj = {a: 1, b: 2, c: 3}; for (const [key, value] of Object.entries(obj)) { console.log(`${key}: ${value}`); } // Output: a: 1 // b: 2 // c: 3
Object.values()
Object.values() 函数也是在 ES2017 中引入的。它的作用是返回一个给定对象的属性值数组。
Object.values({a: 1, b: 2, c: 3}); // Output: [1, 2, 3]
我们可以使用 Object.values() 和 Array.reduce() 方法快速地计算对象中所有属性的值之和:
const obj = {a: 1, b: 2, c: 3}; const sum = Object.values(obj).reduce((acc, cur) => acc + cur); console.log(sum); // Output: 6
Object.values() 可以帮助我们将对象属性值转换成数组格式:
const obj = {a: 1, b: 2, c: 3}; const arr = Object.values(obj); console.log(arr); // Output: [1, 2, 3]
总结
Object.entries() 和 Object.values() 可以帮助我们更好地处理对象属性。它们的应用范围非常广泛,比如对象属性的遍历、转换、统计等等。学习并掌握它们的用法对我们在工作中开发和调试 JavaScript 代码有很大的帮助。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/653485e27d4982a6eb9306f0