JavaScript ES2016 引入了一个新方法 Array.prototype.includes()
,用于检查一个数组是否包含一个指定元素。在此之前,我们经常使用 indexOf()
方法来判断元素是否存在于数组中。但是,includes()
方法更加简单直观,并且可以使用严格相等运算符来比较元素。
语法
Array.prototype.includes()
方法的语法如下:
---------------------------- -----------
其中,searchElement
是要查找的元素,fromIndex
是可选参数,指定了搜索开始的位置。
示例
下面是一个使用 includes()
方法的例子:
----- --- - --- -- --- ----------------------------- -- ------- ----------------------------- -- --------
与 indexOf()
不同的是,includes()
方法可以正确处理 NaN 值和数组中包含 undefined 的情况:
----- ---- - ----- -- ----------- -------------------------------- -- ------- -------------------------------------- -- ------- --------------------------------- -- --------
深入探讨
includes()
方法是基于严格相等运算符(===)进行匹配的。这意味着,它在比较时不会进行类型转换,也不会将空值与 undefined 进行相等性比较。下面是一些示例:
--------------- -- ---------------- -- ------- --------------- -- ------------------ -- ----------------------- --------------- -- ------------------------ -- --------------- --------- ------ --------------- ----- ------------------- -- -------
includes()
方法的第二个参数指定了搜索开始的位置。如果省略该参数,则默认从数组的首个元素开始查找。如果指定的 fromIndex
值小于 0,则将其视为从末尾开始的偏移量:
--------------- -- -------------- ---- -- ------------------------- - --------------- -- -------------- ----- -- ------------------------- -
总结
Array.prototype.includes()
方法是 JavaScript ES2016 新增的一个有用方法,它可以更容易地检查一个数组是否包含一个特定的元素。可以使用该方法替换原来的 indexOf()
方法,使代码更加简洁易懂。但需要注意,在比较时,includes()
方法使用严格相等运算符,并不会进行类型转换和空值与 undefined 的相等性比较。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6517871495b1f8cacdfb5706