ES10 中的 Object.fromEntries 方法实现简单的二维数组转对象

阅读时长 3 分钟读完

在前端开发中,我们经常要对不同类型的数据进行转换操作。其中,将二维数组转换成对象是常见的操作之一。在 ECMAScript 2019 标准(ES10)中,新加入的 Object.fromEntries 方法,提供了更加优雅、高效的实现方式,本文将介绍这一方法的使用。

Object.fromEntries 方法

Object.fromEntries 方法接收一个由键值对组成的数组,返回由这些键值对组成的对象。该方法的语法结构如下:

其中,iterable 表示一个可迭代对象,它可以是数组、Set 对象或者 Map 对象。

实际上,Object.fromEntries 方法是 Object 对象的一个静态方法,而这个方法是基于 ECMAScript 2017 标准中引入的 Object.entries 方法实现的。Object.entries 方法接收一个对象,返回一个由对象的键值对组成的二维数组,如下所示:

使用 Object.fromEntries 方法实现二维数组转对象

在前端开发中,我们经常会遇到需要将二维数组转换成对象的情况。假设我们有一个这样的二维数组:

我们希望将这个二维数组转换成一个对象,其中每个键值对对应二维数组中的一条数据记录。传统的实现方式是使用一次循环遍历数组,逐一将数组中的每个键值对添加到对象中,比较繁琐。使用 Object.fromEntries 方法,我们可以用一行代码实现这一转换:

可以看到,转换后的对象包含了二维数组中的所有数据,而且 Object.fromEntries 方法的代码简洁明了。

需要注意的是,使用 Object.fromEntries 方法实现二维数组转对象时,数组中的每一项必须是一个键值对(由两个元素组成的数组)。如果数组中包含其他类型的元素,Object.fromEntries 方法会抛出 TypeError 异常。

总结

Object.fromEntries 方法是 ECMAScript 2019 标准中新加入的 Object 对象的一个静态方法,该方法提供了一种简洁、高效的方式,实现了将二维数组转换成对象的功能。在实际开发中,我们可以使用该方法优化代码,提高开发效率。

示例代码:

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64933e6a48841e98940fe8de

纠错
反馈