在 ES9 中,新增了一个 Object.fromEntries() 方法,可以将一个键值对的列表转换为一个对象。这个方法在前端开发中非常有用,本文将详细解析这个方法的使用和指导意义。
什么是 Object.fromEntries()?
Object.fromEntries() 方法是 ES9 新增的一个静态方法,可以将一个键值对的列表转换为一个对象。这个方法接收一个可迭代的对象(比如数组),其中每个元素都是一个键值对的数组,返回一个由这些键值对组成的对象。这个方法的语法如下:
Object.fromEntries(iterable)
其中,iterable 是一个可迭代的对象,每个元素都是一个键值对的数组。
Object.fromEntries() 的使用示例
接下来,我们来看一些 Object.fromEntries() 的使用示例。
示例一:将数组转换为对象
假设我们有一个数组,其中每个元素都是一个键值对的数组。我们可以使用 Object.fromEntries() 方法将这个数组转换为一个对象。代码如下:
const arr = [['name', 'Jack'], ['age', 18], ['gender', 'male']]; const obj = Object.fromEntries(arr); console.log(obj); // { name: 'Jack', age: 18, gender: 'male' }
示例二:将 Map 转换为对象
假设我们有一个 Map 对象,我们可以使用 Object.fromEntries() 方法将这个 Map 对象转换为一个对象。代码如下:
const map = new Map([['name', 'Jack'], ['age', 18], ['gender', 'male']]); const obj = Object.fromEntries(map); console.log(obj); // { name: 'Jack', age: 18, gender: 'male' }
示例三:将 URLSearchParams 转换为对象
假设我们有一个 URLSearchParams 对象,我们可以使用 Object.fromEntries() 方法将这个 URLSearchParams 对象转换为一个对象。代码如下:
const urlSearchParams = new URLSearchParams('name=Jack&age=18&gender=male'); const obj = Object.fromEntries(urlSearchParams); console.log(obj); // { name: 'Jack', age: '18', gender: 'male' }
Object.fromEntries() 的指导意义
Object.fromEntries() 方法为我们提供了一种将键值对的列表转换为对象的简单方式,可以避免手动创建对象的繁琐过程。这个方法在前端开发中非常有用,比如在处理表单数据、URL 参数等场景中,我们可以使用这个方法将数据转换为对象,方便我们进行处理。
另外,Object.fromEntries() 方法还可以与其他 ES9 新增的方法一起使用,比如 Object.entries() 方法,可以方便地将对象转换为键值对的列表,然后再使用 Object.fromEntries() 方法将列表转换为对象。代码如下:
const obj = { name: 'Jack', age: 18, gender: 'male' }; const arr = Object.entries(obj); console.log(arr); // [['name', 'Jack'], ['age', 18], ['gender', 'male']] const newObj = Object.fromEntries(arr); console.log(newObj); // { name: 'Jack', age: 18, gender: 'male' }
总结
Object.fromEntries() 方法是 ES9 新增的一个静态方法,可以将一个键值对的列表转换为一个对象。这个方法在前端开发中非常有用,可以方便地将数组、Map 对象、URLSearchParams 对象等转换为对象,避免手动创建对象的繁琐过程。同时,Object.fromEntries() 方法还可以与其他 ES9 新增的方法一起使用,方便我们进行对象和键值对列表之间的转换。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65d4548eadd4f0e0ffc56aea