ES7(ECMAScript 2016)为 JavaScript 带来了一些新功能,其中一个有用的功能是 Array.prototype.includes() 方法。这个方法可以帮助我们更方便地确定一个元素是否在数组中存在。
背景
在 ES6 中,我们已经有了 Array.prototype.indexOf() 方法来查找数组中特定元素的位置。使用这种方法需要检查返回值是否等于 -1 来确保元素是否在数组中。ES7 中提供的 Array.prototype.includes() 方法更方便,因为它直接返回 Boolean 值,而不是返回索引。
语法
Array.prototype.includes() 方法的语法如下:
array.includes(searchElement[, fromIndex])
其中,array
是需要检查的数组,searchElement
是要查找的元素,fromIndex
(可选)表示从哪个位置开始搜索。若省略 fromIndex
参数,则默认从数组的起始位置开始搜索。
实践
下面是一些使用 Array.prototype.includes() 方法的简单示例:
const fruits = ['apple', 'banana', 'orange']; console.log(fruits.includes('apple')); // true console.log(fruits.includes('peach')); // false console.log(fruits.includes('banana', 1)); // true console.log(fruits.includes('banana', 2)); // false
在第一个示例中,我们检查 fruits
数组是否包含 'apple'
一项,并且 Array.prototype.includes() 返回布尔值 true
。在第二个示例中,我们检查数组中是否有 "peach"
,并且返回的值是 false
。在第三个示例中,我们只从索引1开始搜索 'banana'
,因此返回相应的值。在最后一个示例中,我们从索引2开始搜索 'banana'
,因此返回的是 false
。
学习和指导意义
- 首先,Array.prototype.includes() 方法方便了开发人员对数组中的元素进行查找。
- 此外,在比较两个数据结构时,Array.prototype.indexOf() 方法不适用于数组中有 NaN 元素的情况,因为 NaN 在 JavaScript 中无法被比较。使用 Array.prototype.includes() 方法可以更好地处理这种情况。
- 最后,我们可以通过做多种 JS 题目练习来更好地理解这个方法的使用,以及它的使用场景。
结论
ES7 中的 Array.prototype.includes() 方法是一个非常有用的方法,能够帮助我们更方便地查找数组中是否包含特定元素。它的语法简单易懂,使用也非常方便。在实际编写代码时,使用此方法可以让代码更简洁和易于阅读。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6709992dd91dce0dc87a2dab