在前端开发中,我们经常需要判断一个数组是否包含某个特定的值。ES9 中新增了 Array.prototype.includes 方法,它可以方便地检查一个数组是否包含指定的值。本文将详细介绍这个方法的用法、特性以及使用示例。
Array.prototype.includes 方法的用法
Array.prototype.includes 方法用于判断一个数组是否包含指定的值。它可以接受两个参数:
- searchElement:要查找的值。
- fromIndex(可选):从哪个索引开始查找,默认值为 0。
该方法返回一个布尔值,表示数组是否包含指定的值。
Array.prototype.includes 方法的特性
与 Array.prototype.indexOf 方法不同,Array.prototype.includes 方法可以正确处理 NaN 值。例如:
const arr = [1, 2, NaN]; console.log(arr.includes(NaN)); // true console.log(arr.indexOf(NaN)); // -1
此外,Array.prototype.includes 方法还有一个特别方便的特性,即它可以用来检查字符串是否包含指定的子串。例如:
const str = 'hello world'; console.log(str.includes('world')); // true console.log(str.includes('goodbye')); // false
使用 Array.prototype.includes 方法检查数组是否包含值
下面是一个使用 Array.prototype.includes 方法检查数组是否包含值的示例代码:
const arr = [1, 2, 3, 4, 5]; const value = 3; if (arr.includes(value)) { console.log(`数组 ${arr} 包含值 ${value}`); } else { console.log(`数组 ${arr} 不包含值 ${value}`); }
该代码首先定义了一个数组 arr 和一个要查找的值 value。然后使用 Array.prototype.includes 方法判断数组是否包含该值,并输出相应的结果。
总结
使用 ES9 的 Array.prototype.includes 方法可以方便地检查一个数组是否包含指定的值。与 Array.prototype.indexOf 方法不同,它可以正确处理 NaN 值,并且还可以用来检查字符串是否包含指定的子串。在实际开发中,我们可以使用该方法来处理各种数组查找的场景。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65c4ac21add4f0e0fff3ccf9