ES8 中的 Array.prototype.includes() 方法详解及其在实际应用中的优势

ES8 中的 Array.prototype.includes() 方法详解及其在实际应用中的优势

随着 JavaScript 的不断发展,ES8 中新增了 Array.prototype.includes() 方法,它可以用来判断一个数组中是否包含某个特定的元素,它的返回值为布尔类型,即 true 或 false。这个方法的引入大大提高了数组的操作效率和编程效率,本篇文章就来详细介绍它的具体用法及其在实际应用中的优势。

Array.prototype.includes() 方法的用法

Array.prototype.includes() 方法有两个参数,第一个参数是要查找的元素,第二个参数是可选的,用于指定起始查找位置的索引值。

它的语法如下所示:

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

其中,searchElement 是必填的,表示要查找的元素;fromIndex 是可选的,表示查找的起始位置。如果不传递该参数,则默认从数组的第一项开始查找。

该方法的返回值为布尔类型,如果数组中包含指定的元素,则返回 true,否则返回 false。

现在,我们通过以下代码来具体说明它的使用方法:

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

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

上述代码中,我们创建了一个水果的数组,然后使用 includes() 方法来查找数组中是否包含特定的元素。其中,第一个例子是在数组中查找字符串 'apple',返回结果为 true;第二个例子则是查找不在数组中的字符串 'grape',返回结果为 false;第三个例子是从索引值为 1 的位置开始查找字符串 'banana',但由于该元素在索引值为 1 的位置之前,故返回结果为 false;最后一个例子则是从索引值为 0 的位置开始查找字符串 'banana',因为该元素在索引值为 1 的位置之后,故返回结果为 true。

Array.prototype.includes() 方法在实际应用中的优势

  1. 简洁

以前,在 JavaScript 中查找一个数组中是否包含某个元素,需要使用 indexOf() 方法,代码如下:

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

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

该代码需要使用条件运算符来判断大于等于 0 的索引值,稍稍显得有些复杂。而使用 includes() 方法,则可以更加简洁明了。

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

-- -------------------------- -
  ------------------ --------
-
  1. 易读性

includes() 方法用于数组中的查找更加可读可维护,如果没有找到,在代码中需要执行的操作可以放置在 else 字句中,使得代码更加语义化。

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

-- -------------------------- -
  ------------------ --------
- ---- -
  ------------------- --------
-
  1. 稳定性

includes() 方法与其它数组方法一样,具有较好的稳定性,它不会改变数组本身,并且具有良好的兼容性,支持 IE11、Edge (12 及以上版本)、Firefox (43 及以上版本)、Chrome (47 及以上版本)、Opera (34 及以上版本)和 Safari (9 内测版)等大部分浏览器。

结论

以 Array.prototype.includes() 方法代替传统的 indexOf() 方法将使得你的代码更加简洁、更加可读和易于维护,和其他 JavaScript 新特性一样,在实际应用中能够大大提高开发效率。因此,开发人员需要熟练掌握这个 API,在开发过程中进行广泛的应用。

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