includes() && indexOf

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。
const array1 = [1, 2, 3];
console.log(array1.includes(2));// expected output: true

const pets = ['cat', 'dog', 'bat'];
console.log(pets.includes('cat'));// expected output: true
console.log(pets.includes('at')); // expected output: false
该方法的第二个参数表示搜索的起始位置,默认为0。如果第二个参数为负数,则表示倒数的位置
[1, 2, 3].includes(3, 3);  // false
[1, 2, 3].includes(3, -1); // true
indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
console.log(beasts.indexOf('bison'));// expected output: 1

// start from index 2
console.log(beasts.indexOf('bison', 2));// expected output: 4

console.log(beasts.indexOf('giraffe'));// expected output: -1
它内部使用严格相等运算符(===)进行判断,这会导致对NaN的误判。
[NaN].indexOf(NaN)
// -1
[NaN].includes(NaN)
// true

  

posted @ 2020-03-24 18:22  banzhuxiang  阅读(159)  评论(0)    收藏  举报