数组方法:ES7 的 includes() 方法详解

在前端开发中,数组是一种非常常用的数据结构,经常需要对数组进行检索、筛选、排序等操作。ES7 引入了一个新的数组方法 includes(),可以更加方便地进行数组元素的查找,本文将详细介绍这个方法的用法和注意事项。

includes() 方法的基本用法

includes() 方法用于判断一个数组是否包含指定的值,返回值为布尔类型(true 或 false)。它的语法如下:

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

其中,valueToFind 是要查找的值,fromIndex 是可选参数,表示从哪个索引开始查找,默认值为 0。如果指定了 fromIndex,则从该索引开始往后查找,否则从数组的第一个元素开始查找。

下面是一个简单的示例:

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

includes() 方法的注意事项

  1. includes() 方法对 NaN 的处理

includes() 方法可以正确处理 NaN 值的情况,即如果数组中包含 NaN,调用 includes() 方法时会返回 true。这是因为 includes() 方法内部使用了 Object.is() 方法来比较值,它可以正确处理 NaN 的情况。

----- --- - --- -- ---- -- ---
------------------------------- -- ----
  1. includes() 方法对相同值的处理

includes() 方法会使用严格相等运算符(===)来比较值,即只有在值和类型都相同的情况下才会返回 true。这意味着,如果数组中包含两个相同的值,调用 includes() 方法时只会返回第一个值所在的位置。

----- --- - --- -- -- -- ---
----------------------------- -- ----
  1. includes() 方法不改变原数组

includes() 方法不会改变原数组,它只是用来进行查找操作,不会对数组进行修改。

includes() 方法的应用

includes() 方法可以用来检查一个数组中是否包含某个值,可以用来替代 indexOf() 方法。它也可以用来检查一个字符串是否包含某个子串,只需要将字符串转换为数组再使用 includes() 方法即可。

下面是一个稍微复杂一些的示例,使用 includes() 方法来判断一个字符串中是否包含某个子串:

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

总结

includes() 方法是 ES7 中新增的一个数组方法,用于检查一个数组中是否包含某个值。它可以正确处理 NaN 的情况,使用严格相等运算符进行比较,不会改变原数组。在实际开发中,可以使用 includes() 方法来替代 indexOf() 方法,进行更加方便的数组元素查找。

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


猜你喜欢

  • 如何使用 Web App Manifest 创建 PWA 应用

    随着移动设备的日益普及,越来越多的网站开始转向 PWA(Progressive Web App)应用。PWA 应用具有离线缓存、桌面图标、推送通知等特性,让用户享受到了更加流畅的体验。

    7 个月前
  • Headless CMS 集成 Kibana,构建应用性能监控平台

    什么是 Headless CMS? Headless CMS 是一种新型的内容管理系统,与传统 CMS 不同的是,它不负责页面渲染和展示,而是专注于数据管理和 API 接口的构建。

    7 个月前
  • ESLint 支持增加 Webpack 别名解决模块引入路径问题

    在前端开发中,我们经常使用模块化开发方式。而在模块化开发中,我们经常需要引入其他模块,这时候就需要使用模块的路径来引入它。但是,当我们的项目越来越大,模块的数量也会越来越多,这时候模块的路径就会变得比...

    7 个月前
  • Webpack 如何实现 Tree Shaking?

    随着前端技术的不断发展,Web 应用的代码量也越来越大,代码的复杂度也越来越高。这时候,我们就需要一种工具来帮助我们优化代码,提高应用的性能。Webpack 就是这样一款优秀的工具,它可以帮助我们实现...

    7 个月前
  • Android 无障碍引擎实现原理及应用

    随着移动设备的普及,无障碍功能在移动应用中变得越来越重要。Android 无障碍引擎就是一种实现无障碍功能的重要工具。本文将介绍 Android 无障碍引擎的实现原理及应用,并提供示例代码供读者参考。

    7 个月前
  • 使用 Koa 框架搭建 RestFul API 的完整实现及实践

    前言 在现代 Web 应用程序中,使用 RestFul API 是一种非常流行的方式,因为它提供了一种简单、直观和可扩展的方式来管理资源。在本文中,我们将使用 Koa 框架来搭建一个 RestFul ...

    7 个月前
  • Cypress 在测试电商网站中的应用

    前言 在电商网站开发中,测试是非常关键的一个环节。而 Cypress 是一款现代的前端测试框架,它可以优雅地解决前端测试中的各种问题,如测试复杂的用户交互、测试异步代码、测试网络请求等。

    7 个月前
  • ES7 中使用 Object.isSealed() 判断对象属性是否封印

    在 JavaScript 中,对象属性的可变性是一个非常重要的概念。有时候我们需要确保对象的属性不能被修改或删除,这时候就可以使用封印(seal)功能。在 ES7 中,新增了 Object.isSea...

    7 个月前
  • SASS 中的模板语法使用详解

    SASS 是一种 CSS 预处理器,它可以帮助前端工程师更高效地编写 CSS。其中,模板语法是 SASS 中非常重要的一部分,它可以让我们更加灵活地管理样式代码。本文将对 SASS 中的模板语法进行详...

    7 个月前
  • Node.js 和 Sequelize:如何连接 SQLite 数据库

    在前端开发中,数据库是一个非常重要的组成部分。而在连接数据库时,Node.js 和 Sequelize 是两个非常常用的工具。本文将介绍如何使用 Node.js 和 Sequelize 连接 SQLi...

    7 个月前
  • 使用 ES10 新增的 String.prototype.matchAll 方法匹配多个字符串

    在 ES10 中,新增了一个非常方便的方法 String.prototype.matchAll,可以帮助我们在字符串中匹配多个字符串,这对于前端开发来说是非常有用的。

    7 个月前
  • 在 Django 中使用 Server-sent Events 实时推送数据

    随着 Web 应用程序的发展,实时数据推送变得越来越重要。Server-sent Events (SSE) 是一种基于 HTTP 的实时数据推送技术,它可以让服务器向客户端推送数据,而无需客户端发起请...

    7 个月前
  • 使用 ECMAScript 2020(ES11)中的新特性优化 JavaScript 性能

    JavaScript 是一种高级编程语言,广泛用于 Web 开发、移动应用程序和桌面应用程序等领域。随着 Web 技术的不断发展,JavaScript 也在不断地更新和演进。

    7 个月前
  • 如何在 Serverless 架构中进行调试

    前言 随着云计算技术的不断发展,Serverless 架构已经成为了云计算领域的一个重要方向。相较于传统的云计算架构,Serverless 架构具有更高的灵活性、更低的成本和更高的可扩展性。

    7 个月前
  • 用 Kubernetes 构建云本地虚拟网络

    随着云计算时代的到来,越来越多的企业开始将自己的业务迁移到云端。云计算的一个重要特点就是强大的网络能力,使得企业可以更加灵活地部署和管理自己的应用。而在这个过程中,构建一个高效、稳定、安全的云本地虚拟...

    7 个月前
  • Jest 如何避免测试套件中的冲突?

    在前端开发中,测试是非常关键的一环。而在测试过程中,测试套件中的冲突是常见的问题,可能导致测试结果不准确或者测试失败。Jest 是一个流行的 JavaScript 测试框架,它提供了一些方法来避免测试...

    7 个月前
  • ES6 中 Proxy 对象的拦截器机制及使用技巧

    在 JavaScript 中,对象是一种非常重要的数据类型。ES6 中引入了 Proxy 对象,它可以用来拦截对象的各种操作,包括获取属性、设置属性、删除属性等等。

    7 个月前
  • 如何通过嵌套实现响应式设计

    在现代web开发中,响应式设计已经成为了一个必备的技能。它可以让我们的网站在不同的设备上都能够良好地展示。而在实现响应式设计的过程中,嵌套是一个非常重要的技术。在本文中,我们将详细讨论如何通过嵌套实现...

    7 个月前
  • PM2 与 Nginx 配合使用:如何正确配置反向代理?

    前端开发中,我们经常需要将 Node.js 应用部署到服务器上。而在服务器上,我们通常会使用 PM2 来管理 Node.js 进程,并使用 Nginx 来作为反向代理,以实现负载均衡、HTTPS 支持...

    7 个月前
  • 如何使用 Node.js 进行短信验证

    随着移动互联网的发展,短信验证成为了一种常见的用户验证方式。在前端开发中,我们可以使用 Node.js 来进行短信验证。本文将介绍如何使用 Node.js 进行短信验证,并提供示例代码和详细的指导意义...

    7 个月前

相关推荐

    暂无文章