在 ECMAScript 2016 中,引入了 Array.includes 方法,用于判断数组中是否包含某个特定的元素。相较于传统的 Array.indexOf 方法,Array.includes 更为直观、简洁,使用也更加方便。本文将详细介绍 Array.includes 方法的实现、使用以及注意事项,并提供一些示例代码。
Array.includes 方法的实现
Array.includes 方法的实现非常简单,其语法结构如下:
------------------------------ -----------
其中,array 表示要进行判断的数组,searchElement 表示要查找的元素,fromIndex 表示搜索的起始位置,默认值为 0。
具体实现方法如下:
------------------------ - ----------------------- --------- - -- - ----- ------ - ------------ -- -------------------- --------- - --------- -- - - --------- - ------ - ---------- --- ---- - - ---------- - - ------- ---- - -- -------- --- -------------- - ------ ----- - - ------ ------ --
上述代码中,我们使用了 for 循环遍历数组,判断每个元素是否等于 searchElement,如果是,则返回 true,否则返回 false。需要注意的是,如果 fromIndex 小于 0,则表示从数组末尾开始搜索,因此需要将其转换为正数。
Array.includes 方法的使用
Array.includes 方法的使用非常简单,只需要调用该方法,并传入要查找的元素即可。下面是一些常见的使用场景:
查找数字
----- --- - --- -- -- -- --- ----------------------------- -- ---- ----------------------------- -- -----
查找字符串
----- --- - --------- --------- ---------- ------------------------------------ -- ---- ---------------------------------- -- -----
查找对象
----- --- - ------- ------- ------ --------- ------ ---------- ------------------------------- --------- -- ----- ---------------------------------- -- ----
需要注意的是,如果要查找对象,需要传入对象的引用,而非对象的值。在上述代码中,我们传入了一个新的对象 {name: 'Tom'},由于该对象在内存中的地址与数组中的对象不同,因此返回 false。而当我们传入 arr[0] 时,由于该对象在数组中的地址与传入的引用相同,因此返回 true。
注意事项
在使用 Array.includes 方法时,需要注意以下几点:
1. fromIndex 的取值范围
fromIndex 表示搜索的起始位置,默认值为 0。如果 fromIndex 大于等于数组的长度,将返回 false。如果 fromIndex 小于 0,则从数组末尾开始搜索。
2. 查找对象时需要传入对象的引用
如果要查找对象,需要传入对象的引用,而非对象的值。如果传入的对象在内存中的地址与数组中的对象不同,将返回 false。
3. 不支持查找 NaN
Array.includes 方法判断元素是否相等时,使用的是 === 运算符,因此不支持查找 NaN。如果要查找 NaN,需要使用 Array.findIndex 方法。
示例代码
下面是一些常见的使用场景示例代码:
查找数字
----- --- - --- -- -- -- --- ----------------------------- -- ---- ----------------------------- -- -----
查找字符串
----- --- - --------- --------- ---------- ------------------------------------ -- ---- ---------------------------------- -- -----
查找对象
----- --- - ------- ------- ------ --------- ------ ---------- ------------------------------- --------- -- ----- ---------------------------------- -- ----
查找 NaN
----- --- - --- -- ---- -- --- ------------------------------- -- ----- ----------------------------------------- -- -
总结
Array.includes 方法是 ECMAScript 2016 中新增的方法,用于判断数组中是否包含某个特定的元素。这个方法非常简单,使用也非常方便,但是需要注意一些细节,如 fromIndex 的取值范围、查找对象时需要传入对象的引用以及不支持查找 NaN 等。希望本文能够帮助读者更好地理解和使用 Array.includes 方法。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65d027ffadd4f0e0ff934a77