indexOf和includes都代表檢測數組或字符串中是否包含某一個元素
其中indexOf返回的是數值類型,而includes返回的是布爾類型
var ary = [,,]; console.log(ary.indexOf(undefined))//-1 console.log(ary.includes(undefined))//true
數組中的indexOf不能判斷數組中是否有NaN,而includes可以做到
var ary = [NaN]; console.log(ary.indexOf(NaN))//-1 indexOf不能判斷NaN console.log(ary.includes(NaN))//true includes可以
如果想查找某個元素在數組中的索引位置,就用indexOf
如果想查找某個元素在數組中是否存在,就用includes
兩者都是字符串和數組共同的方法
字符串的indexOf和數組中的indexOf的比較
1 這兩個方法都可以接收兩個參數 2 這兩個方法在沒有查找的指定的字符都返回-1 3 字符串中的indexOf中的第二個參數不支持負數而數組的indexOf支持 4 字符串的indexOf在傳入參數不是字符串的情況下默認會轉換為字符串而數組的indexOf不會進行數據類的轉換
字符串的includes和數組中的includes的比較
1 這兩個方法都可以接收兩個參數 2 這兩個方法在沒有查找的指定的字符都返回false 3 字符串中的includes中的第二個參數不支持負數而數組的includes支持 4 字符串的includes在傳入參數不是字符串的情況下默認會轉換為字符串而數組的includes不會進行數據類的轉換