前言
在这个快速发展的时代,前端技术也在日新月异的变化。ES6 和 ES7 都是前端开发不可或缺的重要技术,ES7 中引入了一种新的方法:Array.prototype.includes(),它是用来判断数组中是否包含某个特定的值,返回的是一个布尔值。本篇文章将详细介绍这个方法的使用,包括方法的参数、返回值、特点以及在实际开发中的应用。
语法
Array.prototype.includes() 是一个数组对象的实例方法,它的语法如下:
arr.includes(searchElement[, fromIndex])
其中,arr
指代的是当前的数组对象,searchElement
是需要查找的元素,fromIndex
是可选的,表示从哪个索引开始查找。
返回值
Array.prototype.includes() 的返回值是布尔类型,如果给定的元素在数组中存在,则返回 true
,否则返回 false
。
特点
Array.prototype.includes() 方法具有以下两个特点:
- 使用严格等于运算符(===),会将 NaN 和 NaN 看作是相等的。
- 可以处理类数组对象,但不能处理字符串,需要使用 String.prototype.includes()。
示例
查找一个数值是否存在于数组中,可以使用 Array.prototype.includes() 方法。
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
当 fromIndex
参数被传入时,会从指定的索引开始查找。
const arr = ['a', 'b', 'c', 'd']; console.log(arr.includes('c')); // true console.log(arr.includes('c', 2)); // false console.log(arr.includes('c', -2)); // false
在上面的代码中,第一个 console.log()
输出 true
,因为 'c' 存在于数组中。第二个 console.log()
传入了 fromIndex
参数为 2,即从索引 2 开始查找,但是 'c' 在这个索引之前,返回 false
。第三个 console.log()
传入了一个负数为 fromIndex
参数,表示从 arr.length - 2
的索引开始查找,仍然是找不到 'c',返回 false
。
处理类数组对象时,可以使用 Array.prototype.includes() 方法。
const obj = {0: 'a', 1: 'b', 2: 'c', length: 3}; console.log(Array.prototype.includes.call(obj, 'a')); // true console.log(Array.prototype.includes.call(obj, 'd')); // false
在上面的代码中,我们创建了一个类数组对象,使用 Array.prototype.includes.call() 方法,将其转换成数组并使用 Array.prototype.includes() 方法进行查找,结果输出为 true
和 false
。如果要处理字符串,需要使用 String.prototype.includes()。
应用
Array.prototype.includes() 方法可以用于判断数组中是否包含某个元素,可以在条件语句中进行选择操作。
if (arr.includes('X')) { // do something } else { // do something else }
在上面的代码中,我们可以根据数组中是否包含 'X' 来分别执行两种操作。
总结
以上就是 ES7 中 Array.prototype.includes() 方法的使用详解,包括了语法、返回值和特点,以及一些实际应用。在实际开发中,这个方法可以极大的提高开发的效率,也可以使代码更加简洁易读。在使用时需要注意其特殊的处理规则,灵活运用可以让代码更加优雅。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cf221cb5eee0b525692e58