在前端开发中,我们经常需要对数据进行检索、筛选和操作。常见的操作之一就是检查一个数组中是否包含某个元素。在 ES8 中,新增了一个非常方便的方法:Array.includes,它可以有效地帮助我们解决这个问题。
Array.includes 方法简介
Array.includes 方法用于判断一个数组是否包含某个元素,返回一个布尔值。它的语法如下:
arr.includes(searchElement[, fromIndex])
其中,searchElement 是要查找的元素,fromIndex 是可选参数,表示从数组的哪个位置开始查找,默认值为 0。
Array.includes 的返回值有两个可能:
- 如果数组中包含 searchElement,返回 true;
- 如果数组中不包含 searchElement,返回 false。
使用 Array.includes 方法检查数组是否包含某个元素
使用 Array.includes 方法非常简单,只需要传入要查询的元素即可。例如:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
如果要从数组的某个位置开始查询,可以传入第二个参数。例如:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3, 2)); // true,从下标为 2 的位置开始查询,找到了元素 3 console.log(arr.includes(3, 3)); // false,从下标为 3 的位置开始查询,找到了元素 4,没有找到元素 3
使用 Array.includes 方法的注意事项
使用 Array.includes 方法需要注意以下几点:
1. 严格相等
Array.includes 方法使用的是“严格相等”判断,即两个元素必须类型和值都相等才会返回 true,否则返回 false。例如:
console.log([NaN].includes(NaN)); // true console.log([1, 2, 3].includes("2")); // false
2. IE 不支持
由于 Array.includes 方法是 ES6 标准中新增的方法,因此在一些老式浏览器(如 IE)中并不支持。如果你需要兼容老式浏览器,可以考虑使用 indexOf 方法来代替。
总结
Array.includes 是 ES8 中新增的非常实用的方法,可以帮助我们快速判断一个数组中是否包含某个元素。但需要注意的是,它使用的是严格相等判断,而且在一些老式浏览器中不被支持。因此,在实际开发中需要根据具体情况来选择使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64e9758df6b2d6eab34be84c