前言
ECMAScript 2019(ES10)是 JavaScript 语言的最新版本,自 2019 年 6 月发布以来,在前端开发领域中逐渐得到了应用。在这个版本中,新增了很多特性,本文主要介绍其中的一个新方法:Object.fromEntries()。
Object.fromEntries() 方法介绍
Object.fromEntries() 方法是 ECMAScript 2019 中新增的一个静态方法,它可以接收一个数组,然后将数组中的元素解构成 key-value 对象,并且返回一个新的对象。这个方法的作用是将一个类似于 Map 对象的数据结构转换成一个简单的对象。该方法可以用于以下场景中:
- 将 Map 对象转换成普通对象
- 将一组键值对数组转换成对象
- 将 URLSearchParams 对象转换成对象
使用 Object.entries() 可以将对象转化成数组结构,Object.fromEntries() 方法的反方向,同样也是 ECMAScript 2019 中引进的一个新方法。
示例
下面让我们通过一些示例来学习这个新的方法,了解它的基本用法和注意事项。
示例1: 将 Map 对象转换成普通对象
const mapObj = new Map([['name', 'Jack'], ['age', 20], ['gender', 'male']]); const obj = Object.fromEntries(mapObj); console.log(obj); // { name: 'Jack', age: 20, gender: 'male' }
在这个例子中,我们先创建了一个 Map 对象,然后使用 Object.fromEntries() 方法将它转换成了普通对象,并将转换后的对象输出到控制台中。
示例2: 将一组键值对数组转换成对象
const arr = [['name', 'Lucy'], ['age', 25], ['gender', 'female']]; const obj = Object.fromEntries(arr); console.log(obj); // { name: 'Lucy', age: 25, gender: 'female' }
在这个例子中,我们直接使用一个数组作为参数调用 Object.fromEntries() 方法,将数组中的每一项解构成键值对并转换成了一个普通对象。
示例3: 将 URLSearchParams 对象转换成对象
const params = new URLSearchParams('name=Tom&age=30&gender=male'); const obj = Object.fromEntries(params); console.log(obj); // { name: 'Tom', age: '30', gender: 'male' }
在这个例子中,我们首先创建了一个 URLSearchParams 对象,然后使用 Object.fromEntries() 方法将它转换成普通对象。
注意事项
在使用 Object.fromEntries() 方法的过程中,需要注意以下几点:
- 当使用以前版本的 JavaScript 时,需要先检查该方法是否存在,否则会抛出一个错误。
- 传入的参数必须是一个可以迭代的对象,否则会抛出一个错误。
- 如果传入的参数包含重复的键名,则后面的键值会覆盖前面的键值。
总结
在本文中,我们主要介绍了 ECMAScript 2019 中引进的一个新方法:Object.fromEntries(),并通过几个示例演示了它的基本用法和注意事项。该方法可以用于将一组键值对数组、Map 对象及 URLSearchParams 对象转换成普通对象。开发者可以根据自己的需求将它运用到实际开发中,从而提高开发效率,让代码更加简洁易读。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6593e811eb4cecbf2d886d86