ES12 中 Object.fromEntries() 的实战应用

在 ES12 中,Object 模块新增的 fromEntries() 方法提供了一种将键值对数组转为对象的方法。该方法在前端开发中有着广泛的应用场景,可以大幅度提高编码效率与可读性。下面我们将深入讲解该方法的实战应用,从而让读者能够更加灵活地运用它。

语法

Object.fromEntries(iterable)

该方法接收一个可迭代对象作为参数,该可迭代对象必须是键值对数组。返回值为一个新对象,该对象为由键值对数组创建而来。

键值对数组的每个元素是一个二元素数组,第一个元素表示键名,第二个元素表示对应的值。

实战应用

将 Map 转为 Object

我们可以利用 fromEntries() 方法将 Map 转为对象,代码如下:

将 URLSearchParams 转为 Object

URLSearchParams 接口是用于获取、设置和删除 URL 查询参数的对象。我们可以通过它的 entries() 方法将查询参数转为键值对数组,再使用 fromEntries() 方法将该数组转为对象。代码如下:

将 FormData 转为 Object

FormData 为我们提供了处理表单数据的API,我们可以通过该 API 获取用户在表单中提交的数据。同样地,我们可以利用 fromEntries() 方法将 FormData 转为对象,代码如下:

一行代码解决数组去重

为了去除数组中的重复元素,我们可以先对该数组进行 map 操作,将数组中的元素转为一个键值对数组(其中键名为元素本身,键值为 true)。最后再利用 fromEntries() 方法将该键值对数组转为对象,对象的键名即为去重后的元素集合。代码如下:

从对象值中构建对象结构

我们可以通过 Object.entries() 方法获取对象键值对数组,再通过 map() 方法进行处理,将该数组映射为一个符合我们需要的对象结构。最后再使用 fromEntries() 方法将该新建议转为对象。代码如下:

总结

本文介绍了 ES12 中 Object.fromEntries() 方法的语法与实战应用,希望可以让读者更好地了解该函数的使用方法。因此,当你需要将 Map、URLSearchParams、FormData 转为对象,或实现数组去重、从对象值中构建对象结构时,请记得使用 fromEntries() 方法。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652f3c767d4982a6eb04f963


纠错
反馈