ECMAScript 2016 新特性:Array#includes()

阅读时长 4 分钟读完

前言

随着前端技术的不断发展和推进,ECMAScript 也在不断地进行更新和完善。ECMAScript 2016(即 ES7)是 ECMAScript 的一个更新版本,该版本为我们带来了一些新特性,其中最引人注目的当属 Array#includes() 方法。本文将详细介绍该方法的用法和意义,并给出一些有用的示例代码供大家参考。

Array#includes() 方法

Array#includes() 方法用于判断一个数组是否包含某个特定值,如果包含则返回 true,否则返回 false。该方法在之前的 ECMAScript 版本中并不存在,所以对于许多前端开发者来说,它是一个全新的知识点。

Array#includes() 方法的语法如下:

其中,array 表示要进行判断的数组,searchElement 表示要查找的特定值,fromIndex 表示开始查找的位置(可选参数,如果没有指定该参数,则从数组的起始位置开始查找)。

需要注意的是,Array#includes() 方法具有类似于 Array#indexOf() 方法的功能,但是两者之间还是存在一些区别的。下面我们将通过一些具体的实例来了解它们之间的区别。

示例代码

判断数组是否包含某个特定值

下面的示例代码演示了如何使用 Array#includes() 方法判断一个数组是否包含某个特定值:

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

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

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

输出结果为:

判断数组是否包含 NaN

当使用 Array#indexOf() 方法判断数组是否包含 NaN 时,会出现错误的结果。但是当使用 Array#includes() 方法时,就可以得到正确的结果。下面的示例代码演示了如何使用 Array#includes() 方法判断一个数组是否包含 NaN:

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

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

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

输出结果为:

指定搜索的起始位置

在下面的示例代码中,我们可以看到,当指定搜索的起始位置时,Array#includes() 方法的行为会发生变化。在这种情况下,该方法会从指定位置开始搜索,如果找到匹配的元素,则返回 true,否则返回 false:

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

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

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

输出结果为:

总结

本文详细介绍了 ECMAScript 2016 中的一个新特性:Array#includes() 方法。我们通过一些有用的示例代码来了解该方法的用法和意义,以及它与 Array#indexOf() 方法之间的区别。相信对于前端开发者来说,掌握这个新特性将对他们的工作产生积极的影响。

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

纠错
反馈