我是靠谱客的博主 英勇外套,这篇文章主要介绍JS中 includes() vs indexOf(),聊聊它们有什么区别,现在分享给大家,希望可以做个参考。

本篇文章给大家简单对比一下JavaScript中的includes() 和 indexOf()方法,聊聊它们有什么区别,希望对大家有所帮助!

1、基本区别

  • includes()和indexOf()都是用来检查数组是否包含某些元素,includes()返回值是布尔值,indexOf()返回的是索引值,如果没有返回-1。【相关推荐:javascript学习教程】

复制代码
1
2
3
4
let arr = [1,2,3] arr.indexOf(0) // -1 arr.indexOf(2) // 1 arr.includes(2) // true
登录后复制

2、检查NAN和undefined

  • 因为indexOf()是严格按照===操作符来做值的比较,所以indexOf()不能检查NAN,但是includes()可以

复制代码
1
2
3
4
5
let arr = [NaN,] arr.indexOf(NaN) // -1 arr.indexOf(undefined) // -1 arr.includes(NaN) // true arr.includes(undefined) // true
登录后复制

3、检查-0和+0

  • includes()和indexOf()没有区分-0和+0,在判断时,认为二者是相同的

复制代码
1
2
3
let arr = [+0] arr.includes(-0) // true arr.indexOf(-0) // 0
登录后复制

4、不能检查复杂数据类型

  • 二者只能判断简单数据类型,对于对象、数组等复杂数据类型是不可以判断的

复制代码
1
2
3
let arr = [{a:1},{a:2}] arr.includes({a:1}) // false arr.indexOf({a:1}) // -1
登录后复制

5、indexOf()可用于字符串

  • 返回指定字符第一次出现的位置,并且存在有隐式转换

复制代码
1
2
3
let str = 'a1b2c3' str.indexOf('2')); //3 str.indexOf(1)); //3
登录后复制

最后

以上就是英勇外套最近收集整理的关于JS中 includes() vs indexOf(),聊聊它们有什么区别的全部内容,更多相关JS中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部