includes()和indexOf()的区别
1.两个方法都是查找一个值在不在数组里,includes()若是存在则返回true,不存在返回false.而indexOf()若存在则返回索引,不存在返回-1.
console.log(['a','b','c'].includes('a')); //true
console.log(['a','b','c'].indexOf('a')); //0
2.includes()可接收俩个参数:要搜索的值和搜索的开始索引.另外,第二个参数值也可以为负数,那样就从倒数第N个位置开始搜索指定的值
console.log(['a', 'b', 'c', 'd'].includes('b', 1)) // true
console.log(['a', 'b', 'c', 'd'].includes('b', 2)) // false
console.log(['a', 'b', 'c', 'd'].includes('b', -3)) //true
3.在判断 +0 与 -0 时,被认为是相同的。
console.log([1, +0, 3, 4].includes(-0)); //true
console.log([1, +0, 3, 4].indexOf(-0)); //1
4.只能判断简单类型的数据,对于复杂类型的数据,比如对象类型的数组,二维数组,