使用 ES7 中的 Array.includes 代替 indexOf

在前端开发中,经常需要对数组进行操作。其中,查找数组中是否包含某个元素是一项非常常见的操作。在 ES6 中,我们可以使用 Array.prototype.indexOf 方法来实现。但是,在 ES7 中,我们有了更好的选择,那就是使用 Array.prototype.includes 方法。

Array.prototype.indexOf 方法

Array.prototype.indexOf 方法用于查找数组中是否包含某个元素,并返回该元素在数组中的位置。如果没有找到该元素,则返回 -1。

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

虽然这个方法很好用,但是它有一些缺点。首先,它只能返回元素在数组中的位置,而不能返回该元素是否存在于数组中。其次,它在查找字符串时需要注意大小写问题。

Array.prototype.includes 方法

Array.prototype.includes 方法用于查找数组中是否包含某个元素,并返回一个布尔值,表示该元素是否存在于数组中。

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

与 indexOf 方法不同,includes 方法不需要关心元素在数组中的位置,只需要判断元素是否存在即可。而且,它可以正确地处理字符串的大小写问题。

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

使用 Array.prototype.includes 的好处

使用 Array.prototype.includes 方法有以下好处:

  • 代码更加简洁:不需要判断返回值是否为 -1。
  • 更加直观:返回一个布尔值,表示该元素是否存在于数组中。
  • 更加可读性强:代码更加易于理解。

示例代码

下面是一个使用 Array.prototype.includes 方法的示例代码:

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

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

总结

在 ES7 中,我们可以使用 Array.prototype.includes 方法来代替 indexOf 方法,实现更加简洁、直观、可读性强的代码。因此,在日常的开发中,我们应该尽可能地使用 includes 方法来查找数组中是否包含某个元素。

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