includes() 和indexOf()方法的使用进阶

版权声明:前端菜鸟--人间草木所有 https://blog.csdn.net/qq_43258252/article/details/87255508

includes() 方法检查是否数组包含某些元素,返回 true 或 false ,是ES6的方法,也可以对字符串使用

includes()方法没有区分-0和+0,需要注意

let arr = [1,2,3,4]
console.log(arr.includes(5)) // false
console.log(arr.includes(4)) // true

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置(下标)。是ES5的方法,也可以对字符串使用

indexOf() 方法对大小写敏感,需要注意

如果要检索的字符串值没有出现,则该方法返回 -1,需要注意

indexOf方法有两个缺点,一是不够语义化,它的含义是找到参数值的第一个出现位置,所以要去比较是否不等于-1,表达起来不够直观。二是,它内部使用严格相等运算符(===)进行判断,这会导致对NaN的误判。

includes使用的是不一样的判断算法,就没有这个问题。

let arr = [1,2,3,4]
console.log(arr.indexOf(5)) // -1
console.log(arr.indexOf(4)) // 3

猜你喜欢

转载自blog.csdn.net/qq_43258252/article/details/87255508
今日推荐