领先的免费Web技术教程,涵盖HTML到ASP.NET

网站首页 > 知识剖析 正文

Array.includes() 使用方法,快速判断数组是否包含元素

nixiaole 2025-06-12 15:07:23 知识剖析 6 ℃

Array.includes() 是 JavaScript 中的一个数组方法,用于检查一个数组是否包含某个指定的值。如果数组中包含该值,则返回 true,否则返回 false

语法

array.includes(searchElement, fromIndex)

参数

searchElement:必需,表示要查找的元素。

fromIndex:可选,表示从数组的哪个索引位置开始查找。默认值为 0。如果 fromIndex 是负数,则从数组末尾向前计算索引(即倒数第几个元素)。


使用示例

示例 1:基本用法

const arr = [1, 2, 3, 4, 5];

console.log(arr.includes(3)); // true,因为数组中包含 3
console.log(arr.includes(6)); // false,因为数组中不包含 6

示例 2:使用 fromIndex

const arr = ['a', 'b', 'c', 'd'];

console.log(arr.includes('b', 1)); // true,从索引 1 开始查找,包含 'b'
console.log(arr.includes('b', 2)); // false,从索引 2 开始查找,不包含 'b'

// 负数索引
console.log(arr.includes('c', -2)); // true,从倒数第 2 个元素开始查找,包含 'c'
console.log(arr.includes('a', -1)); // false,从倒数第 1 个元素开始查找,不包含 'a'

示例 3:区分大小写

Array.includes() 是严格比较的,因此大小写敏感。

const arr = ['Apple', 'Banana', 'Cherry'];

console.log(arr.includes('apple')); // false,大小写不同
console.log(arr.includes('Apple')); // true,完全匹配

示例 4:处理 NaN

Array.indexOf() 不同,Array.includes() 可以正确判断 NaN

const arr = [1, NaN, 3];

console.log(arr.includes(NaN)); // true,能正确判断 NaN
console.log(arr.indexOf(NaN));  // -1,indexOf 无法正确判断 NaN

注意事项

严格相等比较Array.includes() 使用的是严格相等 (===) 比较,因此不会进行类型转换。

const arr = [1, '1'];

console.log(arr.includes(1)); // true,数字 1 存在
console.log(arr.includes('1')); // true,字符串 '1' 存在
console.log(arr.includes(true)); // false,布尔值 true 不会自动转换为数字 1

兼容性Array.includes() 是 ES2016 (ES7) 引入的方法,在现代浏览器和 Node.js 中广泛支持。如果需要兼容旧版浏览器,可以使用 Array.indexOf() 替代:

if (!Array.prototype.includes) {
 	Array.prototype.includes = function(searchElement, fromIndex) {
 		return this.indexOf(searchElement, fromIndex) !== -1;
 };
}

总结

  • Array.includes() 是一种简洁且直观的方式来检查数组中是否包含某个值。
  • 它支持从指定索引开始查找,并能正确处理 NaN
  • 如果需要兼容旧环境,可以通过 Array.indexOf() 实现类似功能。
最近发表
标签列表