在 ECMAScript 2019 中,Array.prototype.includes() 是一个非常实用的新功能。它允许我们轻松地检查一个数组中是否包含一个特定的元素,而不必使用 indexOf() 或手动循环遍历数组。
使用 Array.prototype.includes()
Array.prototype.includes() 方法用于检查一个数组是否包含一个指定的元素。它返回一个布尔值,表示该元素是否存在于数组中。如果存在,则返回 true;否则返回 false。
下面是一个示例:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
在上面的示例中,我们首先创建了一个包含 1 到 5 的数字的数组。然后我们使用 includes() 方法检查数组中是否包含数字 3 和数字 6。由于数组中包含数字 3,因此第一个 console.log() 语句输出 true。而由于数组中不包含数字 6,因此第二个 console.log() 语句输出 false。
另外,includes() 方法还可以接受一个可选的第二个参数,表示从哪个索引位置开始搜索。例如,如果我们想从数组的第三个元素开始搜索,可以将第二个参数设置为 2,如下所示:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3, 2)); // true console.log(arr.includes(3, 3)); // false
在上面的示例中,我们首先从索引位置 2 开始搜索数字 3,因此第一个 console.log() 语句输出 true。而在第二个 console.log() 语句中,我们从索引位置 3 开始搜索数字 3,由于数组中不存在从该位置开始的数字 3,因此输出 false。
与 indexOf() 方法的比较
在 ECMAScript 2019 之前,通常使用 indexOf() 方法来检查一个数组是否包含一个特定的元素。例如,我们可以使用以下代码来检查一个数组中是否包含数字 3:
const arr = [1, 2, 3, 4, 5]; console.log(arr.indexOf(3) !== -1); // true console.log(arr.indexOf(6) !== -1); // false
在上面的示例中,我们使用 indexOf() 方法检查数组中是否包含数字 3 和数字 6。由于数字 3 存在于数组中,因此第一个 console.log() 语句输出 true。而由于数字 6 不存在于数组中,因此第二个 console.log() 语句输出 false。
虽然 indexOf() 方法可以用于检查一个数组是否包含一个特定的元素,但使用 includes() 方法通常更加简洁和直观。使用 includes() 方法的代码更易于阅读和理解,并且可以减少错误的可能性。
总结
在 ECMAScript 2019 中,Array.prototype.includes() 是一个非常实用的新功能。它允许我们轻松地检查一个数组中是否包含一个特定的元素,并且比 indexOf() 方法更加简洁和直观。如果你正在编写 JavaScript 代码,并且需要检查一个数组是否包含一个特定的元素,那么 includes() 方法是一个非常好的选择。
示例代码:
// javascriptcn.com 代码示例 // 检查数组中是否包含指定元素 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 console.log(arr.includes(3, 3)); // false // 使用 indexOf() 方法进行比较 console.log(arr.indexOf(3) !== -1); // true console.log(arr.indexOf(6) !== -1); // false
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6578bf92d2f5e1655d2a66cf