在 JavaScript 编程中,我们经常需要将一个数组转化为一个对象。以前我们需要写出多行的代码来达到这个目的。但在 ES10 中,出现了 Object.fromEntries() 方法,它使得我们能够更简单高效地将一个数组转化为一个对象。
Object.fromEntries() 方法介绍
Object.fromEntries() 方法是一个将数组转化为对象的静态方法。该方法接收一个由键值对组成的数组作为参数,它会将数组中的每个键值对转化为对象的属性和值。
用法示例
下面是在 JavaScript 中如何使用 Object.fromEntries() 方法将数组转化为对象:
-- -------------------- ---- ------- ----- ------- - - -------- -------- ------- ---- ---------- -------- -- ----- --- - ---------------------------- ----------------- -- ------- ------ ------- ---- --- ------- -------
在上面的示例中,我们利用 Object.fromEntries() 方法将一个由键值对组成的数组(entries)转化为一个对象(obj)。自动将数组中的每个键值对转化为对象的属性和值。
实际应用场景
Object.fromEntries() 方法可以为前端工程师带来很多便利。在前端开发中,有时候我们需要在后端获取到一个 JSON 格式的数据,但是在前端需要把这个数据转化为对象,以便更好的操作。
以下是一种常用的数据结构:
const data = [ { id: 1, name: 'Tom' }, { id: 2, name: 'Jerry' }, { id: 3, name: 'Mike' }, ];
我们可以用 Object.fromEntries() 将其转化为一个键为 id 的对象:
const obj = Object.fromEntries(data.map((item) => [item.id, item])); console.log(obj[1].name); // Output: 'Tom'
注意事项
- Object.fromEntries() 方法属于 ECMAScript 2019 规范,需要在新版本浏览器中使用。
- 如果数组中存在重复的键,则最终结果中只会存在最后一个值。
- 如果数组中有缺失的项,其值为 undefined。
结论
利用 ES10 中 Object.fromEntries() 方法将数组转为对象可以为我们的前端开发带来很多便利。我们只需要传递一个由键值对组成的数组给这个方法即可轻松地实现转换功能。在未来的前端开发过程中,Object.fromEntries() 方法将成为我们日常编程中使用频率很高的一个方法,它将大大提高我们的开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/674e31aa947dc5bcb30881c7