前言
ECMAScript 2018 是 JavaScript 标准的最新版本,本文主要介绍其中新增的 Object.fromEntries() 方法。
Object.fromEntries() 简介
Object.fromEntries() 方法用于将一个由键值对组成的数组转换为一个对象。这个方法的实现是通过遍历数组中的每一个键值对,然后将其添加到一个新的对象中。
该方法的语法如下:
Object.fromEntries(iterable)
其中 iterable
是一个可迭代对象,它包含一系列的键值对数组,如下所示:
[ [key1, value1], [key2, value2], ... ]
Object.fromEntries() 应用场景
Object.fromEntries() 可以很方便地将数组转换为对象,这里介绍几种常见的应用场景。
1. 将查询参数转换为对象
在 Web 开发中,我们经常需要将 URL 查询参数转换为对象。这个过程可以通过 URLSearchParams API 来实现,也可以使用 Object.fromEntries() 方法来实现。
const searchParams = new URLSearchParams("?name=Zhang%20San&age=20"); const queryObj = Object.fromEntries(searchParams.entries()); console.log(queryObj) // { name: 'Zhang San', age: '20' }
2. 将数组转换为对象
当我们需要将一个由键值对组成的数组转换为对象时,Object.fromEntries() 方法就能派上用场。
const arr = [["name", "Zhang San"], ["age", 20]]; const obj = Object.fromEntries(arr); console.log(obj); // { name: 'Zhang San', age: 20 }
3. 计算对象属性值的总和
Object.fromEntries() 方法也可以用于计算对象属性值的总和。
const obj = { a: 1, b: 2, c: 3 }; const valuesSum = Object.entries(obj).reduce((total, [key, value]) => total + value, 0); console.log(valuesSum); // 6
总结
Object.fromEntries() 是一个很实用且方便的方法,它可以帮助我们快速实现一些常见的场景。同时,它的出现也说明 JavaScript 的生态环境在不断地更新和发展,我们需要对新特性保持关注和学习。
示例代码
-- -------------------- ---- ------- -- -- ------------ ----- ------------ - --- -------------------------------------------- ----- -------- - ------------------------------------------- --------------------- -- - ----- ------ ----- ---- ---- - -- -- ---------- ----- --- - --------- ------ ------ ------- ----- ----- --- - ------------------------ ----------------- -- - ----- ------ ----- ---- -- - -- -- ------------ ----- --- - - -- -- -- -- -- - -- ----- --------- - ---------------------------------- ----- ------- -- ----- - ------ --- ----------------------- -- -
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e471d7f6b2d6eab3fe148e