在 ECMAScript 2016 (ES7) 中,新增了一个函数 Array.prototype.includes(),用于判断一个数组是否包含一个指定的元素。它返回一个布尔值,表示该元素是否在数组中。
用法
Array.prototype.includes() 函数的用法如下:
array.includes(searchElement[, fromIndex])
其中,array
是要检查的数组,searchElement
是要查找的元素,fromIndex
是可选参数,表示从哪个位置开始查找。
返回值
如果查找到了指定的元素,返回 true
,否则返回 false
。
示例
下面是一个简单的例子,演示了如何使用 Array.prototype.includes() 函数:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
在上面的例子中,我们创建了一个包含 5 个元素的数组 arr
,然后分别使用 includes() 函数检查了数组中是否包含了数字 3 和 6。
深度学习
Array.prototype.includes() 函数的实现方法非常简单,它只需要遍历数组,并判断每个元素是否等于指定的元素。如果找到了指定的元素,就返回 true
,否则返回 false
。
不过需要注意的是,Array.prototype.includes() 函数的查找算法是使用严格相等运算符(===)进行比较的。也就是说,如果要查找的元素是一个对象或者一个数组,只有在数组中包含一个与该元素完全相同的对象或数组时,才会返回 true
。
指导意义
Array.prototype.includes() 函数的出现,使得判断数组中是否包含某个元素变得更加简单和直观。它可以替代 indexOf() 函数,因为 includes() 函数更加语义化,更容易理解。
另外,使用 includes() 函数还可以避免一些常见的错误。比如,在使用 indexOf() 函数时,如果要查找的元素在数组中不存在,它会返回 -1,但是有些开发者可能会误解为数组中第一个元素的索引是 -1。而在使用 includes() 函数时,如果要查找的元素不存在,它会直接返回 false
,不会产生这种误解。
结论
在 ECMAScript 2016 (ES7) 中,新增了一个函数 Array.prototype.includes(),用于判断一个数组是否包含一个指定的元素。它返回一个布尔值,表示该元素是否在数组中。使用 includes() 函数可以使代码更加直观和语义化,避免一些常见的错误。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6767c74b98e3e1ab1a7aeb2a