ES10 中新增了一个实用的 Object 方法,它是 Object.fromEntries()。这个方法可以将一个数组转化为一个 Map 对象。在前端开发中,使用这个方法可以带来很大的便利性。接下来,让我们来学习一下 Object.fromEntries() 的使用方法及其指导意义。
一、什么是 Object.fromEntries()?
从字面意思来理解,fromEntries() 可以将一个数据源转化为一组键值对。它的语法格式如下:
Object.fromEntries(iterable)
其中,iterable 可以是任何迭代器对象。通俗来讲,iterable 最常用的就是数组类型。
二、为什么要使用 Object.fromEntries()?
在实际开发中,我们经常需要对不同数据类型进行转换。尤其是在一些需要将数据源转化为键值对类型的场景下,使用 Object.fromEntries() 可以让我们更加便捷地完成这项工作。
举个例子,我们有一个数组,包含了一些省份及其人口数的数据。我们需要将这个数组转化为一个 Map 对象,在使用 Object.fromEntries() 之前,可能需要这样写代码:
const data = [ ['Beijing', 2000], ['Shanghai', 2500], ['Guangdong', 3000] ]; const map = new Map(data); console.log(map);
使用 Object.fromEntries() 方法,我们只需要这样简单地执行即可:
const data = [ ['Beijing', 2000], ['Shanghai', 2500], ['Guangdong', 3000] ]; const map = Object.fromEntries(data); console.log(map);
可以看到,Object.fromEntries() 可以让我们更加便捷地将数据源转化为对应类型。
三、如何使用 Object.fromEntries()?
Object.fromEntries() 主要有两个参数:键和值。这两个参数可以以一定的格式传入。
其中,键值对可以通过数组类型的数据结构来传入,且长度必须是一致的。例如:
const data = [ ['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3'] ]; const obj = Object.fromEntries(data);
也可以通过对象类型的数据结构来传入,例如:
const obj = { key1: 'value1', key2: 'value2', key3: 'value3' }; const newObj = Object.fromEntries( Object.entries(obj) ); console.log(newObj);
在实际应用中,Object.fromEntries() 能够在很多场景下发挥出很好的作用。例如,在前端框架中需要将各种数据源进行结构化存储的场景下,可以通过 Object.fromEntries() 方法轻松地完成。
四、总结
本文主要介绍了 Object.fromEntries() 的语法格式、优势以及使用方法。通过学习本文内容,我们可以了解到使用 Object.fromEntries() 可以有效提高代码的开发效率,让我们的代码更加简洁易懂。同时,我们也能够深入了解 Object.fromEntries() 的运用场景,为项目开发提供便利。
参考示例代码:
const data = [ ['Beijing', 2000], ['Shanghai', 2500], ['Guangdong', 3000] ]; const map = Object.fromEntries(data); console.log(map);
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65b6123cadd4f0e0ffec58a1