前言
随着前端技术的不断发展和推进,ECMAScript 也在不断地进行更新和完善。ECMAScript 2016(即 ES7)是 ECMAScript 的一个更新版本,该版本为我们带来了一些新特性,其中最引人注目的当属 Array#includes() 方法。本文将详细介绍该方法的用法和意义,并给出一些有用的示例代码供大家参考。
Array#includes() 方法
Array#includes() 方法用于判断一个数组是否包含某个特定值,如果包含则返回 true,否则返回 false。该方法在之前的 ECMAScript 版本中并不存在,所以对于许多前端开发者来说,它是一个全新的知识点。
Array#includes() 方法的语法如下:
array.includes(searchElement[, fromIndex])
其中,array 表示要进行判断的数组,searchElement 表示要查找的特定值,fromIndex 表示开始查找的位置(可选参数,如果没有指定该参数,则从数组的起始位置开始查找)。
需要注意的是,Array#includes() 方法具有类似于 Array#indexOf() 方法的功能,但是两者之间还是存在一些区别的。下面我们将通过一些具体的实例来了解它们之间的区别。
示例代码
判断数组是否包含某个特定值
下面的示例代码演示了如何使用 Array#includes() 方法判断一个数组是否包含某个特定值:
-- -------------------- ---- ------- ----- ----- - --- -- -- -- --- ----- ----------- - -- ----- ------------ - ---------------------------- -- -------------- - ----------------- ----------------- - ---- - ------------------ ----------------- -
输出结果为:
数组包含 3
判断数组是否包含 NaN
当使用 Array#indexOf() 方法判断数组是否包含 NaN 时,会出现错误的结果。但是当使用 Array#includes() 方法时,就可以得到正确的结果。下面的示例代码演示了如何使用 Array#includes() 方法判断一个数组是否包含 NaN:
-- -------------------- ---- ------- ----- ----- - --- -- ---- -- --- ----- ------------ - -------------------- -- -------------- - ----------------- ------ - ---- - ------------------ ------ -
输出结果为:
数组包含 NaN
指定搜索的起始位置
在下面的示例代码中,我们可以看到,当指定搜索的起始位置时,Array#includes() 方法的行为会发生变化。在这种情况下,该方法会从指定位置开始搜索,如果找到匹配的元素,则返回 true,否则返回 false:
-- -------------------- ---- ------- ----- ----- - --- -- -- -- --- ----- ----------- - -- ----- ---------- - -- ----- ------------ - --------------------------- ------------ -- -------------- - ---------------- ------------- ---- ----------------- - ---- - ---------------- ------------- ----- ----------------- -
输出结果为:
数组从 2 开始包含 3
总结
本文详细介绍了 ECMAScript 2016 中的一个新特性:Array#includes() 方法。我们通过一些有用的示例代码来了解该方法的用法和意义,以及它与 Array#indexOf() 方法之间的区别。相信对于前端开发者来说,掌握这个新特性将对他们的工作产生积极的影响。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64551db5968c7c53b08c6ed2