您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)JS中includes()和indexOf()有哪些區(qū)別的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
1、基本區(qū)別
includes()和indexOf()都是用來檢查數(shù)組是否包含某些元素,includes()返回值是布爾值,indexOf()返回的是索引值,如果沒有返回-1
。
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()沒有區(qū)分-0和+0,在判斷時,認為二者是相同的
let arr = [+0] arr.includes(-0) // true arr.indexOf(-0) // 0
4、不能檢查復(fù)雜數(shù)據(jù)類型
二者只能判斷簡單數(shù)據(jù)類型,對于對象、數(shù)組等復(fù)雜數(shù)據(jù)類型是不可以判斷的
let arr = [{a:1},{a:2}] arr.includes({a:1}) // false arr.indexOf({a:1}) // -1
5、indexOf()可用于字符串
返回指定字符第一次出現(xiàn)的位置,并且存在有隱式轉(zhuǎn)換
let str = 'a1b2c3' str.indexOf('2')); //3 str.indexOf(1)); //3
感謝各位的閱讀!關(guān)于“JS中includes()和indexOf()有哪些區(qū)別”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。