数组方法:ES7 的 includes() 方法详解

在前端开发中,数组是一种非常常用的数据结构,经常需要对数组进行检索、筛选、排序等操作。ES7 引入了一个新的数组方法 includes(),可以更加方便地进行数组元素的查找,本文将详细介绍这个方法的用法和注意事项。

includes() 方法的基本用法

includes() 方法用于判断一个数组是否包含指定的值,返回值为布尔类型(true 或 false)。它的语法如下:

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

其中,valueToFind 是要查找的值,fromIndex 是可选参数,表示从哪个索引开始查找,默认值为 0。如果指定了 fromIndex,则从该索引开始往后查找,否则从数组的第一个元素开始查找。

下面是一个简单的示例:

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

includes() 方法的注意事项

  1. includes() 方法对 NaN 的处理

includes() 方法可以正确处理 NaN 值的情况,即如果数组中包含 NaN,调用 includes() 方法时会返回 true。这是因为 includes() 方法内部使用了 Object.is() 方法来比较值,它可以正确处理 NaN 的情况。

----- --- - --- -- ---- -- ---
------------------------------- -- ----
  1. includes() 方法对相同值的处理

includes() 方法会使用严格相等运算符(===)来比较值,即只有在值和类型都相同的情况下才会返回 true。这意味着,如果数组中包含两个相同的值,调用 includes() 方法时只会返回第一个值所在的位置。

----- --- - --- -- -- -- ---
----------------------------- -- ----
  1. includes() 方法不改变原数组

includes() 方法不会改变原数组,它只是用来进行查找操作,不会对数组进行修改。

includes() 方法的应用

includes() 方法可以用来检查一个数组中是否包含某个值,可以用来替代 indexOf() 方法。它也可以用来检查一个字符串是否包含某个子串,只需要将字符串转换为数组再使用 includes() 方法即可。

下面是一个稍微复杂一些的示例,使用 includes() 方法来判断一个字符串中是否包含某个子串:

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

总结

includes() 方法是 ES7 中新增的一个数组方法,用于检查一个数组中是否包含某个值。它可以正确处理 NaN 的情况,使用严格相等运算符进行比较,不会改变原数组。在实际开发中,可以使用 includes() 方法来替代 indexOf() 方法,进行更加方便的数组元素查找。

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