ES7 新特性之 Array.includes 方法

JavaScript 的数组常常被用来储存一组数据。在 ES7 中,增加了 Array.includes 方法,用于检测一个数组是否包含一个指定的元素,返回值为 truefalse

基本语法

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