ES7 中的 Array.prototype.includes() 方法:完整指南

在 ES7 中,新增了一个 Array.prototype.includes() 方法,用于判断某个元素是否存在于数组中。这个方法与之前的 indexOf 方法略有不同,主要体现在以下几个方面:

  1. 返回值为布尔类型,而 indexOf 方法返回的是元素在数组中的索引。

  2. includes 方法可以判断 NaN,而 indexOf 方法不能。

  3. includes 方法可以判断同一个引用对象在数组中的位置,而 indexOf 方法不行。

语法

Array.prototype.includes(searchElement[, fromIndex])

searchElement: 要查找的元素

fromIndex (可选): 开始查找的位置,默认值为 0

返回值

返回布尔类型,表示数组中是否包含指定的元素。

示例代码

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

应用场景

  1. 判断元素是否存在于数组中

在之前,我们通常使用 indexOf 方法来判断数组中是否包含某个元素,indexOf 方法的返回值为元素在数组中的索引,但如果要判断其中是否包含 NaN,就会出现问题,因为在数组中,NaN 和 NaN 是不相等的。而 includes 方法却可以用来判断 NaN。

  1. 判断同一个引用对象是否存在于数组中

在开发中,我们有时需要判断一个对象是否存在于数组中,而不是对象的某个属性是否在数组中,要判断这个对象,通常的方法是遍历数组,判断是否存在一个与该对象引用相同的元素。但使用 includes 方法后,可以直接判断元素是否存在于数组中,而且 includes 方法可以判断同一个引用对象是否存在于数组中。

总结

ES7 中新增的 Array.prototype.includes() 方法,可以方便地判断数组中是否包含某个元素,特别是在判断数组中是否包含 NaN 以及同一个引用对象是否存在于数组中时,更加方便。但是,需要注意的是,includes 方法无法判断对象的属性是否存在于数组中,只能判断对象本身是否存在于数组中。

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


猜你喜欢

  • RESTful API 的交互规范和标准

    什么是 RESTful API REST (Representational State Transfer) 是一种软件架构风格,它主要关注组织和管理网络上的资源. RESTful API 是一种符合...

    1 年前
  • Kubernetes 中容器出现 OOM 的情况如何处理?

    前言 Kubernetes 是一个强大的容器编排平台,它可以帮助我们简化容器的部署、扩展和管理。但是,当容器出现 OOM(Out Of Memory)的情况时,我们需要及时采取措施来解决这个问题。

    1 年前
  • Sequelize 在云计算应用中的使用技巧

    什么是 Sequelize Sequelize 是一个基于 Node.js 的 ORM(对象关系映射)工具,可以让我们使用 JavaScript 对数据库进行 CRUD(增删改查)操作。

    1 年前
  • ES6 中的对象解构赋值与扩展运算符的使用

    ES6 中的对象解构赋值和扩展运算符是两个非常有用的特性,它们可以大大简化代码,提高开发效率。本文将介绍这两个特性的使用方法,并给出一些实例展示。 对象解构赋值 对象解构赋值可以将一个对象的属性赋值给...

    1 年前
  • 如何在 ES6(ES2015)中使用 let、const、var?

    在 JavaScript 中,变量通常是通过 var 关键字声明的,然而 ES6(ES2015)中引入了两个新的关键字 let 和 const 来替代 var,他们的作用和用法也有所不同。

    1 年前
  • 禁用 LESS 中的 & 全局搜索的解决方法

    禁用 LESS 中的 & 全局搜索的解决方法 LESS 是一种 CSS 预处理语言,可以增加一些在原生 CSS 中不具备的特性,例如 mixin、变量、嵌套等等。

    1 年前
  • ES12 中的 Symbol 类型的新使用:解决 “Magic Property” 的问题

    ES12 中的 Symbol 类型的新使用:解决 “Magic Property” 的问题 前言 在前端开发中,我们经常会遇到 “Magic Property” 的问题。

    1 年前
  • 利用 Deno 和 Discord.js 创建一个聊天机器人

    前言 在现代化的互联网应用领域中,聊天机器人 (Chatbot) 已经成为了一种普遍的工具。聊天机器人是一种能够进行自然语言交流的计算机程序,通常被用于协助人们完成各种任务。

    1 年前
  • 如何使用 Mocha 测试 Electron 应用

    前言 在开发 Electron 应用时,为了保证应用稳定性和质量,需要编写测试用例对应用进行测试。而 Mocha 是一个基于 Node.js 的 JavaScript 测试框架,常常被用来编写测试用例...

    1 年前
  • 做好准备:在现代 Web 开发中广泛使用 Web Components

    Web Components 是一种构建可重用组件的技术,它将 HTML、CSS 和 JavaScript 组合在一起,用于创建自定义的、可重用的组件。随着 Web 技术的发展,Web Compone...

    1 年前
  • Babel-cli 的使用示例和常见问题解决方案

    什么是 Babel-cli? Babel-cli 是一个基于命令行的工具,能够将 ECMAScript 6 代码转换为 ECMAScript 5 代码,从而运行在不支持 ECMAScript 6 的环...

    1 年前
  • ES8 中的改进:使用尾递归优化 JavaScript 函数

    ES8 中的改进:使用尾递归优化 JavaScript 函数 JavaScript 的递归在许多场景下都是非常有用的,但是递归过程中可能会导致堆栈溢出(stack overflow)。

    1 年前
  • PM2 监控告警技巧:利用 ELK 实现进程日志监控

    前言 随着应用的不断升级和迭代,进程数量不断增加,管理和维护进程变得越来越困难。因此,监控和告警是保障应用正常运行和可靠性的重要手段。本文将详细介绍如何利用 ELK 实现 PM2 进程的日志监控。

    1 年前
  • # Node.js 中的 Buffer 和 Stream 区别和使用情况分析

    Node.js 中的 Buffer 和 Stream 区别和使用情况分析 在 Node.js 中,Buffer 和 Stream 是两个非常重要的概念。它们都是用于处理数据的,但是它们的使用方式和场景...

    1 年前
  • 手把手教你实现响应式轮播图效果

    随着移动设备的普及,响应式设计成为越来越重要的概念。而在前端开发中,实现响应式轮播图效果也是一项基本技能。 本篇文章将一步一步地教你如何实现响应式的轮播图效果,包括 HTML、CSS 和 JavaSc...

    1 年前
  • 如何在 TailwindCSS 中添加自定义动态效果?

    TailwindCSS 是一个快速、高度定制化的 CSS 框架,可以帮助前端开发人员更快地构建样式。本文将介绍如何在 TailwindCSS 中添加自定义动态效果,以及如何使用它们来增加用户体验。

    1 年前
  • 在 TypeScript 中使用 async / await 模式

    在传统的 JavaScript 中,异步编程通常使用回调函数来处理异步操作。这种方法虽然十分常见,但是却有很多缺点:代码难以读懂、错误处理变得复杂、回调地狱等问题。

    1 年前
  • 使用 Next.js 和 Firebase 开发高性能博客教程

    本文将介绍如何使用 Next.js 和 Firebase 建立一个高性能的博客网站,并提供详细的学习和指导意义。 前置知识 在学习本文前,需要具备以下知识: 基本的 React 和 JavaScri...

    1 年前
  • ES7 新特性之函数的专业调试方法 --Function.prototype.toString()

    在前端开发中,我们经常需要在开发过程中进行代码调试。对于函数调试来说,ES7 的新特性——Function.prototype.toString() 提供了一种专业的调试方法。

    1 年前
  • Jest 测试套件中的代码快照

    在前端开发中,测试是一个非常重要的环节,它可以保证代码的质量,降低出错率,在开发过程中大幅度提高效率。而在测试中,测试套件也是一个非常重要的工具,它可以帮助开发人员完成一系列的测试任务,其中 Jest...

    1 年前

相关推荐

    暂无文章