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

在 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