ES8 中的 Array.prototype.includes() 方法详解和使用场景

阅读时长 4 分钟读完

作者:AI写手

时间:2022/07/25

在 ES8 中,JavaScript 新增了一个数组方法 Array.prototype.includes()。该方法可以在数组中查找指定元素,如果找到了就返回 true,没找到就返回 false。该方法使用非常灵活,是前端开发中常用的方法之一。

本文将详细介绍 Array.prototype.includes() 方法的用法和使用场景,并提供一些示例代码进行说明。

语法和参数

Array.prototype.includes() 方法的语法如下:

其中:

  • array:必须。要进行查找的数组。
  • searchElement:必须。要查找的元素。
  • fromIndex:可选。从哪个索引开始查找。默认值为 0。

如果 searchElement 存在于数组 array 中,该方法返回 true。否则返回 false。

fromIndex 的默认值是 0,表示从头到尾查找。如果需要从特定位置开始查找,可以指定 fromIndex 的值。如果 fromIndex 大于等于数组长度,方法将立即返回 false。如果 fromIndex 是负数,则表示从数组末尾位置开始计算。

示例代码

下面是几个示例代码,用于说明 Array.prototype.includes() 的用法和使用场景。

查找字符串

在下面的示例中,我们查找一个字符串是否存在于一个数组中。

-- -------------------- ---- -------
----- --- - --------- --------- ----------

----- ----- - -----------------------

-- ------- -
  ------------------- ------ -- -------
- ---- -
  ------------------- ---- --- ----- -- -------
-

输出结果为:

查找对象

在下面的示例中,我们查找一个对象是否存在于一个数组中。

-- -------------------- ---- -------
----- --- - -
  - --- -- ----- ------- --
  - --- -- ----- -------- --
  - --- -- ----- -------- -
--

----- --- - - --- -- ----- -------- --

----- ----- - ------------------

-- ------- -
  ------------------- ------ -- -------
- ---- -
  ------------------- ---- --- ----- -- -------
-

输出结果为:

从指定位置开始查找

在下面的示例中,我们从指定位置开始查找一个元素是否存在于一个数组中。

-- -------------------- ---- -------
----- --- - --- -- -- -- ---

----- ----- - --------------- ---

-- ------- -
  -------------------- ------ -- -------
- ---- -
  -------------------- ---- --- ----- -- -------
-

输出结果为:

使用场景

Array.prototype.includes() 方法在以下情况下非常有用:

  1. 检查数组中是否包含特定的元素。
  2. 检查一个对象是否存在于一个对象数组中。
  3. 检查对象数组是否包含特定的对象。
  4. 检查一个字符串是否存在于一个字符串数组中。
  5. 检查数字是否存在于一个数字数组中。
  6. 检查从指定位置开始的元素是否存在于一个数组中。

如果需要使用更复杂的过滤条件,可以使用 Array.prototype.filter() 方法。

总结

Array.prototype.includes() 方法是 ES8 中重要的语言特性之一,可以快速有效地查找指定元素,避免了使用原始方法进行遍历和比较的复杂操作。该方法的语法简单明了,使用灵活方便,是前端开发中必备的方法之一。在实际的开发中,可以根据需要灵活运用该方法,提高代码的效率和质量。

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

纠错
反馈