您的位置:

数组includes方法详解

一、数组includes方法

数组includes方法可以判断一个数组是否包含一个指定的值,如果包含则返回true,否则返回false。

数组的includes方法的语法如下:

array.includes(searchElement[, fromIndex])

其中,searchElement为需要查找的元素,fromIndex为开始查找的位置,如果忽略该参数,则默认从0开始查找

下面是一个使用includes方法的例子:

let fruits = ['apple', 'banana', 'orange'];

console.log(fruits.includes('banana')); // 输出true
console.log(fruits.includes('grape')); // 输出false

在本例中,我们创建了一个名为fruits的数组,其中包含了三个元素。我们使用includes方法检查了该数组是否包含了'banana'和'grape'两个元素,结果根据预期执行。

二、数组的includes方法

数组的includes方法是ES7新增的方法,在ES7之前,通常我们使用indexOf方法来检查一个数组是否包含了一个指定的元素。下面是一个使用indexOf的例子:

let fruits = ['apple', 'banana', 'orange'];

console.log(fruits.indexOf('banana') !== -1); // 输出true
console.log(fruits.indexOf('grape') !== -1); // 输出false

在本例中,我们使用了indexOf方法来检查数组是否包含了'banana'和'grape'两个元素。但是,使用indexOf方法存在一些问题,比如说,如果数组中包含了NaN值,那么使用indexOf方法会返回错误的结果。而且,当数组中存在重复元素时,我们只能判断出第一个符合要求的元素,而不是所有符合要求的元素。

为了解决这些问题,ES7新增了数组的includes方法。使用includes方法,我们可以避免以上问题的出现。

三、数组includes方法的作用是什么

数组includes方法主要有以下几个作用:

1. 检查数组中是否包含某个元素

includes方法可以用于检查一个数组中是否包含了某个指定的元素。

let fruits = ['apple', 'banana', 'orange'];

console.log(fruits.includes('banana')); // 输出true
console.log(fruits.includes('grape')); // 输出false

2. 检查数组中是否包含NaN值

使用indexOf方法检查数组中是否包含NaN值时,会返回错误的结果。而使用includes方法可以正确地检查数组中是否包含了NaN值。

let array = [1, 2, NaN, 4];

console.log(array.indexOf(NaN) !== -1); // 输出false
console.log(array.includes(NaN)); // 输出true

3. 检查数组中是否包含重复元素

使用indexOf方法只能检查数组中是否包含某个元素,而无法检查数组中是否有重复的元素。而使用includes方法可以检查数组中是否包含指定的元素,包含则返回true,不包含则返回false,可以有效地检查数组中是否有重复元素。

let array1 = [1, 2, 3, 4, 5];
let array2 = [1, 2, 3, 3, 4, 5];

console.log(array1.includes(3)); // 输出true
console.log(array2.includes(3)); // 输出true
console.log(array2.includes(6)); // 输出false

4. 搜索特定位置的元素

includes方法可以接收第二个参数,该参数表示从指定的位置开始搜索指定的元素。

let fruits = ['apple', 'banana', 'orange'];

console.log(fruits.includes('apple', 1)); // 输出false
console.log(fruits.includes('banana', 1)); // 输出true
console.log(fruits.includes('banana', -2)); // 输出false

在本例中,我们指定了第二个参数来搜索数组中的元素。第二个参数可以为负数,表示从数组结尾处倒数开始计算。如果指定的位置大于或等于数组的长度,则includes方法将返回false。

四、代码示例

下面是一个完整的代码示例,展示了如何使用includes方法检查一个数组中是否包含某个指定的元素:

let array = [1, 2, 3, 4, 5];

if (array.includes(3)) {
  console.log('数组中包含元素3');
} else {
  console.log('数组中不包含元素3');
}

该代码示例中,我们创建了一个名为array的数组,然后使用includes方法检查该数组中是否包含了元素3。如果包含,则输出'数组中包含元素3',否则输出'数组中不包含元素3'。

五、总结

通过本文的介绍,我们可以了解到数组includes方法的语法、使用方法以及作用。在实际编程中,我们应该根据具体的需求选择合适的方法来检查数组中是否包含特定的元素。