ES9 中 Object 原型上新增的 fromEntries 方法应用详解

在 JavaScript 的 ES9 中,Object 原型上新增了一个 fromEntries 方法,它可以将一个二维数组转换为对象。这个方法在前端开发中有很多应用,本文将详细介绍该方法的使用及其指导意义。

fromEntries 方法的语法

fromEntries 方法的语法如下:

----------------------------

其中,iterable 是一个可迭代对象,比如数组或者 Map 对象。

fromEntries 方法的作用

fromEntries 方法的作用是将一个二维数组转换为对象。这个二维数组的每一个元素都是一个键值对,第一个元素是键,第二个元素是值。fromEntries 方法会将这个二维数组转换为一个对象,其中每个键值对都对应着对象的一个属性和值。

fromEntries 方法的示例

下面是一个使用 fromEntries 方法的示例:

----- --- - ------ --- ----- --- ----- ----
----- --- - ------------------------
-----------------

上面的代码中,我们定义了一个二维数组 arr,其中每个元素都是一个键值对。然后我们调用了 Object.fromEntries 方法将这个二维数组转换为一个对象 obj。最后,我们使用 console.log 方法将这个对象输出到控制台。

运行上面的代码,我们会在控制台看到以下输出:

- -- -- -- -- -- - -

从输出结果可以看出,fromEntries 方法成功将二维数组 arr 转换为了一个对象 obj,其中每个键值对都对应着对象的一个属性和值。

fromEntries 方法的应用

fromEntries 方法在前端开发中有很多应用。下面我们将介绍一些常见的应用场景。

将 URLSearchParams 对象转换为对象

在前端开发中,我们经常需要将 URLSearchParams 对象转换为对象。URLSearchParams 对象是一个包含查询参数的对象,它通常用于处理 URL 中的查询参数。我们可以使用 fromEntries 方法将 URLSearchParams 对象转换为对象,如下所示:

----- ------------ - --- -------------------------------
----- --- - -------------------------------------------
-----------------

上面的代码中,我们首先创建了一个 URLSearchParams 对象 searchParams,它包含了两个查询参数 foo 和 bar。然后,我们调用了 searchParams.entries 方法获取一个包含所有查询参数的迭代器。最后,我们将这个迭代器传递给 Object.fromEntries 方法,将 URLSearchParams 对象转换为了一个对象 obj。

运行上面的代码,我们会在控制台看到以下输出:

- ---- ---- ---- --- -

从输出结果可以看出,fromEntries 方法成功将 URLSearchParams 对象转换为了一个对象 obj。

将 Map 对象转换为对象

在前端开发中,我们经常需要将 Map 对象转换为对象。Map 对象是一种键值对的集合,它通常用于存储一些复杂的数据结构。我们可以使用 fromEntries 方法将 Map 对象转换为对象,如下所示:

----- --- - --- ---------- --- ----- --- ----- -----
----- --- - ------------------------
-----------------

上面的代码中,我们首先创建了一个 Map 对象 map,它包含了三个键值对。然后,我们调用了 Object.fromEntries 方法将 Map 对象转换为了一个对象 obj。

运行上面的代码,我们会在控制台看到以下输出:

- -- -- -- -- -- - -

从输出结果可以看出,fromEntries 方法成功将 Map 对象转换为了一个对象 obj。

将数组转换为对象

在前端开发中,我们经常需要将数组转换为对象。有时候我们的数据是以数组的形式存在的,但是我们需要将它们转换为对象来方便我们的处理。我们可以使用 fromEntries 方法将数组转换为对象,如下所示:

----- --- - ------ --- ----- --- ----- ----
----- --- - ------------------------
-----------------

上面的代码中,我们定义了一个二维数组 arr,其中每个元素都是一个键值对。然后我们调用了 Object.fromEntries 方法将这个二维数组转换为一个对象 obj。最后,我们使用 console.log 方法将这个对象输出到控制台。

运行上面的代码,我们会在控制台看到以下输出:

- -- -- -- -- -- - -

从输出结果可以看出,fromEntries 方法成功将数组 arr 转换为了一个对象 obj。

总结

ES9 中新增的 Object.fromEntries 方法可以将一个二维数组转换为对象。它在前端开发中有很多应用场景,比如将 URLSearchParams 对象转换为对象、将 Map 对象转换为对象、将数组转换为对象等。掌握了这个方法的使用,我们在前端开发中的数据处理能力将得到大大提升。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/655eac0cd2f5e1655d8d14d0


猜你喜欢

  • Pow 函数示例,探究 ES6 的尾递归

    引言 在前端开发中,我们经常需要进行数值计算,其中一个常见的计算就是幂运算。在 ES6 中,我们可以使用 Math.pow() 方法来进行幂运算。但是,在一些特殊的情况下,使用递归来实现幂运算可能会更...

    1 年前
  • Flexbox 布局总结及实例演示

    Flexbox 是一种 CSS 布局模式,它可以让我们更轻松地实现响应式布局和多列等复杂布局。本文将总结 Flexbox 布局的基本概念及其用法,并提供实例演示以便读者更好地理解。

    1 年前
  • Next.js 中如何实现骨架屏

    随着前端技术的不断发展,骨架屏已经逐渐成为了一个常见的页面优化方案。在 Next.js 中,我们可以通过一些简单的配置和编码,轻松地实现骨架屏效果。本文将介绍 Next.js 中如何实现骨架屏,并提供...

    1 年前
  • 如何使用 ESLint 检查 JavaScript 中的不安全正则表达式

    在 JavaScript 中,正则表达式是一个非常强大的工具,可以用来处理字符串、验证数据格式等。但是,如果不小心使用了不安全的正则表达式,可能会导致代码中的安全漏洞。

    1 年前
  • Express.js 中利用 EJS 实现渲染

    在 Express.js 中,使用 EJS 模板引擎可以方便地实现页面渲染。EJS 是一种简单的模板语言,可以将数据和 HTML 模板混合在一起,生成最终的 HTML 页面。

    1 年前
  • 控制 Fastify 日志级别的几种方式

    Fastify 是一个快速、低开销且可扩展的 Node.js Web 框架。它具有出色的性能和可扩展性,非常适合用于构建高速的 Web 应用程序。在 Fastify 中,日志记录是非常重要的一部分,它...

    1 年前
  • ECMAScript 2020 (ES11) 中 Promises 的新功能和改进

    介绍 在 ECMAScript 2015 (ES6) 中,Promise 被引入作为处理异步操作的一种方式。Promise 是一种代表异步操作结果的对象,它可以是已经完成的、正在进行中的或者失败的状态...

    1 年前
  • Webpack 构建模块化 JavaScript 项目的最佳实践

    Webpack 是一个现代化的 JavaScript 模块打包工具,它可以将多个 JavaScript 模块打包成一个或多个 Bundle(打包后的文件),并且可以在打包过程中进行代码分割、文件压缩等...

    1 年前
  • Mongoose 中的 Connect/Disconnect 事件详解

    Mongoose 是一个 Node.js 中的 MongoDB 数据库驱动程序,它提供了许多方便的方法来操作 MongoDB 数据库。在 Mongoose 中,Connect 和 Disconnect...

    1 年前
  • 解决在 Webpack 中使用 styled-components 和 LESS 出错的问题

    在前端开发中,我们经常使用 CSS 预处理器和 CSS-in-JS 库来帮助我们更高效地编写样式。LESS 和 styled-components 就是其中比较常用的两个工具。

    1 年前
  • 如何在 ES9 中使用 Symbol 描述符来扩展对象属性

    ES9 引入了一种新的原始数据类型 Symbol,它可以作为对象属性的描述符。在本文中,我们将讨论如何使用 Symbol 描述符来扩展对象属性,以及它的学习和指导意义。

    1 年前
  • 使用 GraphQL 提高 Web 应用性能的技巧

    在 Web 应用开发中,性能一直是一个重要的话题。GraphQL 是一种新型的数据查询语言,它提供了一种更高效、更灵活的方式来获取数据。通过使用 GraphQL,我们可以优化我们的 Web 应用程序的...

    1 年前
  • SASS 编译出错:variable already defined 怎么办?

    在前端开发中,我们经常使用 SASS(Syntactically Awesome Style Sheets)来编写 CSS,提高开发效率和代码可维护性。然而,有时候我们会遇到编译出错的情况,其中一个常...

    1 年前
  • NodeJS 使用 Sequelize 进行分页查询的实现

    NodeJS 使用 Sequelize 进行分页查询的实现 在前端开发中,分页查询是非常常见的需求。而后端常用的 ORM 框架 Sequelize,也提供了方便的分页查询功能。

    1 年前
  • SPA 应用中使用 Nginx 进行服务部署和负载均衡的技巧

    前言 单页应用(Single Page Application,SPA)是当前前端开发的主要趋势,它使用 AJAX 技术动态加载页面内容,使用户体验更加流畅,同时也带来了一些新的问题,比如如何进行服务...

    1 年前
  • 在使用 Jest 测试 Redux 时如何处理异步操作?

    在前端开发中,Redux 已经成为了一种非常流行的状态管理工具。使用 Redux 可以帮助我们更好地管理应用程序的状态和数据流,从而提高代码的可维护性和可扩展性。但是,在编写 Redux 应用程序时,...

    1 年前
  • AngularJS 下拉框选项:ng-option 详解

    在 AngularJS 中,ng-option 是一个非常重要的指令,它用于在下拉框中显示选项列表。ng-option 功能非常强大,可以支持多种数据源,包括数组、对象和迭代器等。

    1 年前
  • 如何在 ES12 中使用 Nullish Coalescing 和 Optional Chaining

    在 ES12 中,Nullish Coalescing 和 Optional Chaining 是两个非常实用的操作符,它们可以帮助开发者更加便捷地处理 null 或 undefined 值的情况。

    1 年前
  • Material Design 中的滚动视差特效

    Material Design 是谷歌推出的一种设计语言,旨在创造更加简洁、直观、优美的用户体验。其中,滚动视差特效是 Material Design 中的一个重要组成部分,可以为页面增添动态感和层次...

    1 年前
  • Server-sent Events 实时数据推送的优缺点讨论

    前言 在 Web 应用中,实时数据推送是一项非常重要的功能,特别是对于需要及时更新数据的应用程序,比如股票市场、在线聊天室等等。在过去,实现实时数据推送通常需要使用 Ajax 长轮询或者 WebSoc...

    1 年前

相关推荐

    暂无文章