ES7 新特性:Array.prototype.includes 第二个参数探究
在前端开发中,我们经常需要用到数组来存储一些数据,同时也需要对数组进行处理和查询。ES7 新特性 Array.prototype.includes 就是为了方便地查询数组中是否包含某一个元素。
Array.prototype.includes 方法可以用来判断一个数组是否包含某一个元素,其返回值是一个布尔值,表示数组中是否包含该元素。但是,在使用这个方法时,我们可能会遇到一些问题,例如怎样查找数组中相同的元素,或者如何查找到数组中第 N 个元素等等。
这里我们就来探究一下 Array.prototype.includes 方法的第二个参数,它可以解决这些问题。
使用 Array.protype.includes 的第二个参数
Array.prototype.includes 方法可以使用第二个参数来指定开始查找的位置,例如:
const arr = [1, 2, 3, 4, 5]; arr.includes(2, 2); // true arr.includes(2, 3); // false
在第一个例子中,我们从位置 2 开始查找元素 2,结果返回 true。而在第二个例子中,我们从位置 3 开始查找元素 2,但是由于元素 2 在这个位置之前已经被找到过了,所以返回 false。
应用示例
接下来,我们来看一些常见应用的示例。
查找数组中第 N 个元素
我们可以利用第二个参数来查找数组中第 N 个元素。例如:
const arr = [1, 2, 3, 4, 5]; const n = 3; const nthElement = arr.includes(3, n - 1); if (nthElement) { console.log(`第 ${n} 个元素为 ${arr[n - 1]}`); } else { console.log(`数组中不存在第 ${n} 个元素`); }
在这个例子中,我们利用第二个参数来查找数组中第 N 个元素,如果找到了,就打印出该元素的值,否则打印出 "数组中不存在第 N 个元素"。
查找数组中是否有相同元素
有时候,我们需要查找数组中是否有相同元素,可以使用类似的方法:
-- -------------------- ---- ------- ----- --- - --- -- -- -- -- -- --- ----- ---- - -- ----- --------- - ----------------- - -- ----- -------------- - ------------------ ----------- -- ---------------- - ------------------------- - ---- - -------------------------- -
在这个例子中,我们利用 indexOf 方法找到元素 2 的位置,然后通过 +1 得到从下一个位置开始查找的位置。如果存在相同元素,返回 true,否则返回 false。
总结
Array.prototype.includes 方法是 ES7 新增的一个有用的方法,它可以判断一个数组是否包含某个元素。通过使用第二个参数,我们可以灵活地控制查找的开始位置,解决一些问题,例如查找数组中第 N 个元素或者查找数组中是否存在相同元素等。这个方法的应用非常广泛,可以大大提高我们的开发效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c14a4983d39b48815a1b15