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
复制代码

最新文章

  1. Java Class类及反射机制
  2. 利用Canvas实现360度浏览
  3. PL/SQL Developer基本用法
  4. mkinitrd---简单介绍
  5. python3.0与2.x之间的区别
  6. python学习第十七天 --定制类
  7. Linux内核启动分析
  8. 分辨率验证工具 - 【Window Resizer】的使用 - Google扩展工具
  9. ORACLE 程序包
  10. 【递推】Bzoj3612[Heoi2014]平衡
  11. js实现放大效果
  12. static和extern的用法小结
  13. Windows下搭建Python虚拟环境
  14. Java中随机数生成的问题
  15. Synctoy2.1使用定时任务0X1
  16. Swap 分区的2种方式 详解与例子
  17. Java内存原型分析:基本知识
  18. Golang之(for)用法
  19. HDU 5652 India and China Origins 二分+并查集
  20. 爬虫防封IP

热门文章

  1. 一夜搞懂 | JVM 线程安全与锁优化
  2. CSS 基础(二)
  3. MySQL入门,第五部分,表结构的修改
  4. C语言 文件操作(八)
  5. flask入门 之 Python Shell (三)
  6. Tomcat5的web应用启动顺序详解
  7. list[列表]的使用
  8. CVE-2019-0232 远程代码执行漏洞-复现
  9. python从零开始基础入门——开发环境搭建
  10. 浅析CAS与AtomicInteger原子类