在 ES7 中,新增了一个 Array 原型方法 includes,它可以方便地判断一个数组是否包含指定的值,返回一个布尔值。这个方法的使用非常简单,但是在实际开发中,我们可能会遇到一些坑,需要注意一些细节。
语法
arr.includes(valueToFind[, fromIndex])
- valueToFind:需要查找的元素值。
- fromIndex:可选参数,从哪个索引开始查找,默认为 0。
示例
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false console.log(arr.includes(3, 2)); // true,从索引 2 开始查找 console.log(arr.includes(3, 3)); // false,从索引 3 开始查找
注意事项
- includes 方法使用的是严格相等(===)比较,因此对于引用类型的数据,比较的是其引用地址。
- 如果数组中包含 NaN,那么 includes 方法无法判断是否包含 NaN,因为 NaN !== NaN。
- 如果 fromIndex 大于等于数组长度,那么直接返回 false。
- 如果 fromIndex 是负数,则表示从末尾开始查找,例如 fromIndex 为 -1,则表示从最后一个元素开始查找。
- includes 方法是 ES7 中新增的,如果需要在低版本浏览器中使用,需要使用 polyfill 或者手动实现。
指导意义
includes 方法的出现,使得我们判断数组中是否包含某个元素变得更加方便和直观。同时,需要注意 includes 方法的一些细节,避免出现一些不必要的错误。
在实际开发中,我们可能会遇到一些需要判断数组是否包含某个元素的场景,例如搜索功能、过滤功能等等。这时候就可以使用 includes 方法来进行判断,避免使用循环遍历的方式,提高代码效率和可读性。
总结
ES7 中新增的 includes 方法是一个非常实用的工具,可以方便地判断数组中是否包含某个元素,同时需要注意一些细节。在实际开发中,我们可以灵活地运用 includes 方法,提高代码效率和可读性。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/658d7ecaeb4cecbf2d3732f5