ECMAScript 2016 的 Array.includes 方法实现与使用

阅读时长 5 分钟读完

在 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

纠错
反馈