JS中 includes() vs indexOf(),聊聊它们有什么区别

发布时间:2022-05-16 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JS中 includes() vs indexOf(),聊聊它们有什么区别脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
本篇文章给大家简单对比一下JavaScript中的includes() 和 indexOf()方法,聊聊它们有什么区别,希望对大家有所帮助

1、基本区别

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

let arr = [1,2,3]
arr.indexOf(0)	// -1
arr.indexOf(2)	// 1
arr.includes(2)	// true

2、检查NAN和undefined

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

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,在判断时,认为二者是相同的

let arr = [+0]
arr.includes(-0) // true
arr.indexOf(-0) // 0

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

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

let arr = [{a:1},{a:2}]
arr.includes({a:1}) // false
arr.indexOf({a:1}) // -1

5、indexOf()可用于字符串

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

let str = 'a1B2C3'
str.indexOf('2')); //3
str.indexOf(1)); //3

更多编程相关知识,请访问:编程视频!!

以上就是JS中 includes() vs indexOf(),聊聊它们有什么区别的详细内容,更多请关注脚本宝典其它相关文章!

脚本宝典总结

以上是脚本宝典为你收集整理的JS中 includes() vs indexOf(),聊聊它们有什么区别全部内容,希望文章能够帮你解决JS中 includes() vs indexOf(),聊聊它们有什么区别所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: