本文是关于JS中includes()和indexOf()的区别。我觉得边肖很实用,就和大家分享一下作为参考。让我们跟着边肖看一看。
1、基本区别
Include()和indexOf()都用于检查数组是否包含某些元素。include()的返回值为布尔值,indexOf()的索引值为索引值;如果不是,则返回-1。
letarr=[1,2,3]
arr.indexOf(0)//-1
arr.indexOf(2)//1
arr . includes(2)/true2、检查NAN和undefined
因为indexOf()严格按照==运算符比较值,所以indexOf()不能检查NAN,但是includes()可以。
letarr=[NaN,]
arr.indexOf(NaN)//-1
arr.indexOf(未定义)///-1
arr.includes(NaN)//true
arr.includes(未定义)//true3、检查-0和+0
Includes()和indexOf()不区分-0和0,判断时认为两者相同。
letarr=[ 0]
arr.includes(-0)//true
arr . indexof(-0)//04、不能检查复杂数据类型
他们只能判断简单的数据类型,不能判断复杂的数据类型,比如对象和数组。
letarr=[{a:1},{a:2}]
arr.includes({a:1})//false
arr . indexof({ a :1 })//-15、indexOf()可用于字符串
返回指定字符首次出现的位置,并且存在隐式转换。
letstr='a1b2c3 '
str . indexof(' 2 ');//3
str . indexof(1));//3感谢阅读!我希望这篇关于“JS中includes()和indexOf()有什么区别”的文章能在这里分享。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/153647.html