indexOf(a,b)是在es6之前常用的判断数组/字符串内元素是否存在的api,接收两个参数,第一个a代表要被查找的元素,必填。第二个代表从数组的某个坐标开始查找,可选

在数组中

通过indexOf,会返回元素在array中的位置,不存在就返回-1

const a = [1, 2, 3]
let b = 2
console.log(a.indexOf(b) !== -1) // true
console.log(a.indexOf(b,2) !== -1) // false
复制代码

在字符串中

与数组中比较区别主要有两点:

  1. 字符串使用indexOf第二个参数不接受-1
const a = [1, 2, 3]
let b = 2
console.log(a.indexOf(b,-1) !== -1) // false
复制代码
  1. 字符串使用第一个参数,会默认转成字符串
const a = ["1", "2", "3"]
const b = "123"
let c = 2
console.log(a.indexOf(c) !== -1) // false
console.log(b.indexOf(c) !== -1) // true
复制代码

includes仅能用来判断元素是否存在。其用法与indexOf类似,都能作用在字符串中,同样在字符串中includes不接受-1坐标并且能默认转换字符串。但是,与indexOf最大的区别在于:

1.能过识别NaN是否存在数组中

const a = [NaN,NaN,NaN]
console.log(a.indexOf(NaN) !== -1) // false
console.log(a.includes(NaN) !== -1) // true
复制代码

2.判断稀疏数组内元素

const a = [,,NaN]
console.log(a.indexOf(undefined) !== -1) // false
console.log(a.includes(undefined) !== -1) // true
复制代码

includes与indexOf的更多相关文章

  1. from、includes、indexOf

    from.includes.indexOf:https://blog.csdn.net/j59580/article/details/53897630?utm_source=blogxgwz1 语法 ...

  2. JavaScript数组方法--includes、indexOf、lastIndexOf

    我们继续吧! includes:includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false.还是先看看includes的用法吧 var ar ...

  3. Includes() vs indexOf() in JavaScript

    碰到一个问题, 部分机器网页数据源不正常, 简单排查发现是使用了较新的Array.includs 方法. 查了下兼容性, chrome 需要47版本以后支持, 客户机果然是很久的43版本. 用Arra ...

  4. indexOf与includes的区别

    indexOf与includes的区别:https://blog.csdn.net/gtLBTNq9mr3/article/details/78700118 includes和indexOf相比较:相 ...

  5. JavaScript 字符串实用常操纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  6. JavaScript 字符串操作

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  7. JavaScript 字符串常用操作

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  8. Angular源代码学习笔记-原创

    时间:2014年12月15日 14:15:10 /** * @license AngularJS v1.3.0-beta.15 * (c) 2010-2014 Google, Inc. http:// ...

  9. JavaScript 字符串常用操作纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

随机推荐

  1. vagrant 入门案例 - 快速创建 Centos7

    中文文档:http://tangbaoping.github.io/vagrant_doc_zh/v2/ 参考: https://blog.csdn.net/yjk13703623757/articl ...

  2. JDK常用命令行工具使用

  3. LeetCode 题解 | 242. 有效的字母异位词

    给定两个字符串 s 和t,编写一个函数来判断 t 是否是 s 的字母异位词. 示例 1: 输入: s = "anagram", t = "nagaram" 输出 ...

  4. 创建一个tar备份包

                                                                 创建一个tar备份包 2.1问题 本例要求使用tar工具完成以下备份任务: 创 ...

  5. .bundle文件如何安装

    1. sudo chmod +x X.bundle 2. sudo X.bundle

  6. Web Scraper 高级用法——使用 CouchDB 存储数据 | 简易数据分析 18

    这是简易数据分析系列的第 18 篇文章. 利用 web scraper 抓取数据的时候,大家一定会遇到一个问题:数据是乱序的.在之前的教程里,我建议大家利用 Excel 等工具对数据二次加工排序,但还 ...

  7. CH5105 Cookies (线性dp)

    传送门 解题思路: 贪心的想,贪婪值越大的孩子应该分得更多的饼干,那么先sort一遍在此基础上进行dp.最直观的方向,可以设dp[i][j]为前i个孩子一共分得j块饼干的怨恨最小值.然后转移第i+1个 ...

  8. 手把手教Extjs-简单GridField示例讲解二

    使用的Extjs版本为4.2,示例是官方的版本,对里面的语法进行一句一句的学习研究.可以方便他人,又可以提升自己的理解.里面存在的问题,后期会一步一步改进.也欢迎各位指出. /* Extjs具有很庞大 ...

  9. 猜数字和飞机大战(Python零基础入门)

    前言 最近有很多零基础初学者问我,有没有适合零基础学习案例,毕竟零基础入门的知识点是非常的枯燥乏味的,如果没有实现效果展示出来,感觉学习起来特别的累,今天就给大家介绍两个零基础入门的基础案例:猜数字游 ...

  10. sqli-labs通关教程----41~50关

    第四十关 与前几关一样,闭合变成') 插入数据 ?id=1') ;insert into users(id,username,password) values('17','aaa','bbb'); % ...