JavaScript 的数组常常被用来储存一组数据。在 ES7 中,增加了 Array.includes
方法,用于检测一个数组是否包含一个指定的元素,返回值为 true
或 false
。
基本语法
array.includes(searchElement, fromIndex)
searchElement
:要查找的元素fromIndex
(可选):开始查找的起始位置,默认为0
返回值
如果查找到了指定的元素,返回 true
,否则返回 false
。
示例
const array = [1, 2, 3, 4, 5]; console.log(array.includes(2)); // true console.log(array.includes(6)); // false console.log(array.includes(2, 2)); // false console.log(array.includes(2, -3)); // true
深入理解
Array.includes
方法会按照严格相等(===
)的方式进行比较判断。这意味着它不会进行类型转换,例如:
const array = [1, 2, 3, '4']; console.log(array.includes(4)); // false console.log(array.includes('4')); // true
另外,NaN
在比较时也可以正确识别:
const array = [NaN]; console.log(array.includes(NaN)); // true
实际应用
对于判断数组中是否包含指定元素的场景,Array.includes
方法可以提供简洁高效的解决方案。例如:
// 判断一个值是否在数组中出现过 let isValueInArray = (value, array) => array.includes(value); // 反转数组 let reverseArray = array => array.reverse(); // 找出两个数组中共同的元素 let commonElements = (array1, array2) => array1.filter(value => array2.includes(value));
总结
ES7 新特性之 Array.includes
方法提供了一种快速、简便的方法来判断一个数组中是否包含指定元素。它的类型比较严格、功能简单,但在实际应用中能够大大简化代码实现,并提高代码执行效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65b74f53add4f0e0fffe0614