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. IE不支持sessionStorage问题

    IE8及以上版本是支持的,如果你的项目在IE8及以上打开报错: 那是因为:页面要放在服务器上才能有效!!!!!!!!!!!!!!!!!!!!!!!!

  2. KMP算法-从头到尾彻底理解KMP

    一:背景 给定一个主串(以 S 代替)和模式串(以 P 代替),要求找出 P 在 S 中出现的位置,此即串的模式匹配问题. Knuth-Morris-Pratt 算法(简称 KMP)是解决这一问题的常 ...

  3. HDFS程序开发

    占位

  4. VMwareWorkstation如何设置共享文件夹

    首先需要安装VMware Tools 这个嘛,应该是需要安装的,之前没有安装好像就没有设置成功. 没有安装的参考如何安装VMware Tools 然后在虚拟机设置里面设置共享路径 右键虚拟机名称,打开 ...

  5. TP5快速入门

    一.查询 //order支持使用数组对多个字段的排序,例如order(['order','id'=>'desc']) //group方法只有一个参数,并且只能使用字符串. //having方法只 ...

  6. css--->圆角设置

    1.为元素添加四个相同的圆角: 语法结构:border-radius:r: r为圆角的半径大小 eg:如下样式,给元素添加四个圆角为10px   代码如下: <!DOCTYPE html> ...

  7. "高亮显示"组件:<mark> —— 快应用组件库H-UI

     <import name="mark" src="../Common/ui/h-ui/text/c_tag_mark"></import& ...

  8. Python设计模式(8)-抽象工厂

    # coding=utf-8 这种方式反倒把事情做复杂了 可取之处在于有了更高层次的抽象 class IEmployee: def insert_employee(self): pass class ...

  9. 自定义vue组件之仿百度分页逻辑

    <template> <div> <ul :total="total" :pageSize="pageSize" :pageNum ...

  10. N皇后问题 回溯非递归算法 C++实现2

    运行结果 代码如下 #include <bits/stdc++.h> using namespace std; ; const char *LINE32 = "--------- ...