一、ES6,Array.includes()函数的用法
- 斜体笔墨在ES5,Array已供应了indexOf用来查找某个元素的位置,假如不存在就返回-1,然则这个函数在推断数组是不是包括某个元素时有两个小不足,第一个是它会返回-1和元素的位置来示意是不是包括,在定位方面是没题目,就是不够语义化。另一个题目是不能推断是不是有NaN的元素。
*ES6供应了Array.includes()函数推断是不是包括某一元素,除了不能定位外,处理了indexOf的上述的两个题目。它直接返回true或许false示意是不是包括元素,对NaN一样能有有用。`*
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN]
console.log(arr1.includes('f'))
console.log(arr1.includes(NaN))
效果:
true
true
includes()函数的第二个参数示意推断的肇端位置。
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN]
console.log('%s', arr1.includes('d', 1))
console.log('%s', arr1.includes('d', 3))
console.log('%s', arr1.includes('d', 4))
效果:
true
true
false
第二个参数也可所以负数,示意从右数过来第几个,然则不转变推断搜刮的方向,搜刮方向照样从左到右。
console.log('%s', arr1.includes('k', -1))
console.log('%s', arr1.includes('k', -2))
console.log('%s', arr1.includes('i', -3))
效果:
false
true
false