在 ES9 中,JavaScript 引入了新的 Object.values 和 Object.entries 函数,它们可以让我们更方便地操作对象。在本文中,我们将详细介绍这两个函数的用法,并提供一些示例代码来帮助你更好地理解它们的用途。
Object.values 函数
Object.values 函数可以返回一个包含对象所有属性值的数组。例如:
const obj = { a: 1, b: 2, c: 3 }; const values = Object.values(obj); console.log(values); // [1, 2, 3]
这里的 values 数组包含了 obj 对象中所有的属性值。这个函数可以用于快速获取对象中所有属性值,而不需要遍历对象并手动收集属性值。
Object.entries 函数
Object.entries 函数可以返回一个包含对象所有属性键值对的数组。例如:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // [['a', 1], ['b', 2], ['c', 3]]
这里的 entries 数组包含了 obj 对象中所有的属性键值对。每个键值对都是一个二元数组,第一个元素是属性名,第二个元素是属性值。这个函数可以用于快速获取对象中所有属性键值对,而不需要遍历对象并手动收集属性键值对。
示例代码
下面是一些示例代码,展示了 Object.values 和 Object.entries 函数的用法。
求和函数
function sumValues(obj) { const values = Object.values(obj); return values.reduce((acc, cur) => acc + cur, 0); } const obj = { a: 1, b: 2, c: 3 }; const sum = sumValues(obj); console.log(sum); // 6
这个函数可以用于快速求一个对象中所有属性值的和。它首先使用 Object.values 函数获取对象中所有属性值的数组,然后使用 reduce 函数将它们累加起来。
对象转换为 URL 查询字符串
-- -------------------- ---- ------- -------- ------------------------ - ----- ------- - -------------------- ----- ------ - ------------------ ------- -- ------------------- ------ ----------------- - ----- --- - - -- -- -- -- -- - -- ----- ----------- - ------------------------- ------------------------- -- -------------
这个函数可以用于将一个对象转换为 URL 查询字符串。它首先使用 Object.entries 函数获取对象中所有属性键值对的数组,然后使用 map 函数将它们转换为字符串形式,并使用 join 函数将它们连接起来。
结论
Object.values 和 Object.entries 函数是 ES9 中新增的两个函数,它们可以让我们更方便地操作对象。这些函数可以用于快速获取对象中所有属性值或所有属性键值对,而不需要遍历对象并手动收集属性值或属性键值对。我们可以使用这些函数来编写更简洁、更易于维护的代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6760a31d03c3aa6a56029bbf