您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關JS中includes()和indexOf()有哪些區別的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
1、基本區別
includes()和indexOf()都是用來檢查數組是否包含某些元素,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()沒有區分-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()和indexOf()有哪些區別”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。