ECMAScript 2017(ES8)中更新的 Object.values 和 Object.entries 方法

AI 编程助手,豆包旗下的编程助手,提供智能补全、智能预测、智能问答等能力,节省开发时间,释放脑海中的创造力,支持 VSCode,点击体验 AI

在2017年发布的ECMAScript 2017标准中,有两个新的Object方法被添加了进来,它们分别是Object.values和Object.entries。这两个新方法能够大幅度提高开发人员的开发效率和代码的可读性。在本文中,我们将深入研究这两个方法,并为大家提供一些实例代码。

Object.values()

Object.values()方法返回一个给定对象的属性值的数组。属性值的顺序与使用for...in循环得到的顺序相同,但是不保证,因为for-in循环是枚举对象的所有可枚举属性(包括原型中的属性)。

使用方法

语法如下:

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

其中obj参数是必需的,obj表示要从中提取值的目标对象。

示例

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

上述示例中,我们定义了一个名为obj的对象,然后使用Object.values()方法来提取obj对象中的所有属性的值,最后返回的是一个数组。

Object.entries()

Object.entries()方法返回一个给定对象自身可枚举属性的[key, value]形式的数组,数组中的key-value对与for...in循环遍历的顺序相同(不保证,因为for-in循环遍历的是原型链上所有可枚举的属性)。

使用方法

语法如下:

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

其中obj参数是必需的,obj表示要从中提取键值对的目标对象。

示例

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

上述示例中,我们定义了一个名为obj的对象,然后使用Object.entries()方法来提取obj对象中的所有属性的键值对,最后返回的是一个二维数组。

用法示例

Object.values和Object.entries可与数组和函数很好地结合使用。

Object.values()

从对象获取值

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

转换Map数据结构为数组

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

Object.entries()

将对象转换为Map数据结构

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

将对象转换为数组

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

结论

Object.values和Object.entries方法为ECMAScript的JS引擎添加了更多有用的功能。通过快速和高效地获取对象和数组的值和键值对,这两个函数能够大幅提高您的代码质量和开发效率。我强烈建议大家开始使用这两个函数,让您的代码变得更加清晰、可读、可维护,从而提高应用程序的质量。

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


猜你喜欢

  • Cypress 自动化测试框架的快速上手指南

    Cypress 是一个 JavaScript 编写的前端自动化测试框架,它易于使用,强大且快速。它提供了一个很好的测试执行环境,包含了调试、交互、定位元素等多种功能,非常适合单元测试、端到端测试、功能...

    3 天前
  • Redux 单向数据流的理解及实例解析

    在前端开发中,管理数据是一项非常重要的任务。为了方便管理数据,我们经常会使用像 Redux 这样的状态管理工具。Redux 带来的一个最主要的好处就是单向数据流。 本文将阐述 Redux 单向数据流的...

    3 天前
  • 如何在 Mocha 测试中使用 ESLint 进行代码检测?

    当我们进行前端项目开发时,一个良好的代码质量是非常重要的,这不仅可以保证代码的可维护性和可读性,还可以提高项目的安全性和稳定性。而代码检测工具可以帮助我们在开发中发现代码中的错误,遵守代码规范。

    3 天前
  • 从无障碍设计到辅助技术:同步的设计方式

    什么是无障碍设计 无障碍设计是一种通过设计和开发阶段来优化产品、设备或服务,确保它们能够在广泛范围的用户中得到使用的设计方法。这种设计方法的出现是为了满足那些因年龄、健康、能力或技术能力等原因而面临使...

    3 天前
  • 如何在 Docker 容器中部署 Laravel 应用

    Docker 是一个开源的容器化平台,它使得开发者可以更加方便地构建、部署和管理应用程序。在本篇文章中,我们将介绍如何在 Docker 容器中部署 Laravel 应用程序。

    3 天前
  • ECMAScript 2021(ES12)中新增的 String.prototype.replaceAll() 方法使用详解

    在 ECMAScript 2021(ES12) 中,JavaScript 新增了一个 String.prototype.replaceAll() 方法。这个方法类似于 String.prototype...

    3 天前
  • 在生产环境中部署 Nodejs 服务的奇技淫巧:使用 PM2

    Node.js 作为一种轻量级 JavaScript 运行时环境,越来越被广泛应用在服务器端开发和生产环境中。但是,Node.js 在生产环境中的部署和运维是一个实实在在的挑战。

    3 天前
  • 使用 Chai 进行 E2E 测试的最佳实践

    前言 前端开发人员经常需要通过自动化测试来验证他们的代码是否如预期一样运行。在这样的情况下,E2E 测试就是一种被广泛使用的解决方案。本文将介绍如何使用 Chai 进行 E2E 测试,并讨论其最佳实践...

    3 天前
  • Vue.js SPA 项目中使用 webpack 优化打包加速

    在 Vue.js 单页面应用程序 (SPA) 中,随着页面和功能的增加,打包和编译时间逐渐增加,这也会降低开发人员的工作效率. webpack 是一个流行的打包工具,可用于管理模块依赖并拆分代码,从而...

    3 天前
  • Headless CMS 的安全性和隐私保护实现策略与技巧

    前言 Headless CMS 是一种新型的内容管理系统,它采用了前后端分离的架构,允许开发者通过 RESTful API 或 GraphQL 接口直接访问和操作数据,从而提高了开发效率和扩展性。

    3 天前
  • 无障碍设计的本质:为每个人提供便利

    无障碍设计的本质:为每个人提供便利 随着科技的迅猛发展,互联网已经成为人们日常生活中不可或缺的一部分。然而,在不断涌现的新技术和新产品中,我们也发现了一个问题——无障碍设计。

    3 天前
  • Koa 适合做哪些类型的应用和场景分析

    Koa 是一个基于 Node.js 平台的下一代 web 开发框架,由 Express 团队设计。它的设计理念非常简单:洋葱圈模型,中间件机制,并且使用异步函数来优化性能。

    3 天前
  • 使用 CSS Reset 重置链接样式的正确做法

    在前端开发中,样式是非常重要的一部分。但是,我们在设计网站时,往往需要让所有的链接样式都保持一致。如果不进行重置,不同的浏览器会导致链接的显示效果不同。 为了解决这个问题,我们可以使用 CSS Res...

    3 天前
  • MongoDB 使用协议详解

    什么是 MongoDB? MongoDB 是一款 NoSQL 数据库,它以 BSON(Binary JSON) 格式存储数据,可以方便地存储大量文档式数据。 与传统的关系型数据库相比,MongoDB ...

    3 天前
  • 在 Vue.js 项目中兼容 ECMAScript 2021(ES12)语法

    随着 ECMAScript 发展,越来越多的新功能和语法被引入。在 Vue.js 项目中,我们也需要兼容最新的 ECMAScript 2021(ES12)语法,以提高开发效率和代码质量。

    3 天前
  • Serverless 架构中的容器镜像管理最佳实践

    Serverless 架构中的容器镜像管理最佳实践 Serverless架构的出现使得在云端上构建和运行应用变得更加简单,只需关注业务逻辑,而无需考虑部署方式和底层基础设施的管理。

    3 天前
  • JavaScript 新特性之 ES2016(ES7)

    随着前端技术不断发展,JavaScript 也不断推陈出新。ES2016,也就是 ES7,是其中一次的变化。ES2016 引入了一些新特性,帮助开发人员编写更先进、更简洁的代码。

    3 天前
  • 使用 Web Components 构建自定义 HTML 元素

    Web Components 是一种现代化的前端开发技术,它可以让您构建自定义的 HTML 元素,这些元素可以自带行为和样式,并且可以在任何 Web 应用程序中重复使用。

    3 天前
  • 高效管理 Sequelize 实例,让你的代码更优雅

    前言 Sequelize 是一个轻量且强大的 ORM 库,它支持多种数据库并提供了一些强大的功能,例如创建、操作、查询和更新数据库实例。在使用 Sequelize 的过程中,我们通常需要管理大量的实例...

    3 天前
  • 在 Deno 中使用 MySQL 数据库的技巧

    介绍 Deno 是一种基于 V8 引擎的 JavaScript 和 TypeScript 运行时,是 Node.js 的一种替代品。相比于 Node.js,Deno 非常注重安全性、标准库和开发体验等...

    3 天前

相关推荐

    暂无文章