ES10 中的 Array.prototype.includes() 方法

阅读时长 3 分钟读完

在 ES6 中,JavaScript 引入了一些新的数组方法,如 Array.prototype.find()Array.prototype.findIndex()。而在 ES7 中,又新增了一个 Array.prototype.includes() 方法,它可以用来判断一个数组是否包含某个元素。在 ES10 中,该方法得到了进一步的扩展和优化,本文将详细介绍该方法的使用技巧。

基本用法

Array.prototype.includes() 方法用于判断一个数组是否包含某个元素,其基本语法如下:

其中,searchElement 表示要查找的元素,fromIndex 表示从哪个位置开始查找(可选)。如果数组中存在该元素,则返回 true;否则返回 false

下面是一个简单的示例:

fromIndex 参数的使用

fromIndex 参数用于指定查找的起始位置。如果省略该参数,则从数组的第一个元素开始查找。如果指定了该参数,则从指定位置开始查找。

需要注意的是,如果 fromIndex 参数为负数,则表示倒数第几个元素。例如,fromIndex-1 表示从倒数第一个元素开始查找。

下面是一些示例:

NaN 的处理

Array.prototype.includes() 方法可以正确处理 NaN 值。也就是说,如果数组中包含 NaN,则返回 true

需要注意的是,该方法无法区分 -0+0,它们被视为相等的值。

与 indexOf() 方法的区别

Array.prototype.includes() 方法与 Array.prototype.indexOf() 方法的区别在于,前者可以正确判断数组中是否包含 NaN,而后者无法正确处理 NaN

此外,includes() 方法更加简洁易读,并且不需要进行严格相等的比较,因此代码更加清晰。

下面是一个示例,比较了两种方法的使用:

总结

Array.prototype.includes() 方法是 ES7 中新增的数组方法,用于判断一个数组是否包含某个元素。在 ES10 中,该方法得到了进一步的扩展和优化。使用该方法可以更加简洁易读地判断数组中是否包含某个元素,同时可以正确处理 NaN 值。需要注意的是,该方法无法区分 -0+0

希望本文能够帮助读者更好地理解和使用 Array.prototype.includes() 方法。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65dc89081886fbafa49eda38

纠错
反馈