在 JavaScript 中使用 ES8 的 Array.prototype.includes() 实现判断数组是否包含值

阅读时长 3 分钟读完

在 JavaScript 中使用 ES8 的 Array.prototype.includes() 实现判断数组是否包含值

JavaScript 中的 Array 对象是开发中经常使用的对象之一,而判断数组中是否包含某个值也是开发中经常需要使用的功能之一。在 ES8 中,新增了 Array.prototype.includes() 方法,可以用来判断数组中是否包含某个值。本文将详细介绍如何在 JavaScript 中使用 ES8 的 Array.prototype.includes() 方法实现判断数组是否包含值的功能。

Array.prototype.includes() 方法

Array.prototype.includes() 方法是一个 ECMA2016 引入的方法,用于判断一个数组是否包含特定的元素。其语法如下:

其中,array 表示要进行查找的数组;searchElement 表示要查找的元素,可以是任意值;fromIndex 是一个可选参数,表示从哪个索引开始查找。

数组中包含查找元素时,返回 true;反之,则返回 false。

使用 Array.prototype.includes() 方法判断数组是否包含值

使用 Array.prototype.includes() 方法来判断数组是否包含值非常简单,只需传入要查找的值作为参数即可。示例代码如下:

在上面的示例中,我们定义了一个包含三个元素的数组 list,并调用了 Array.prototype.includes() 方法来判断它是否包含了 'apple' 和 'orange' 这两个值。从输出结果可以看出,当数组包含查找元素时,返回 true,反之则返回 false。

除了基本的字符串类型外,还可以用来查找布尔、数字、null 和 undefined 等任意类型的值。

Array.prototype.includes() 方法与 indexOf() 方法的区别

在上面的示例中,使用 Array.prototype.includes() 来判断数组是否包含值看起来似乎与使用 indexOf() 方法非常类似。事实上,二者之间确实有很大的相似之处,不过它们的区别还是有一些的。

首先,indexOf() 方法需要传入要查找的值,然后返回它在数组中的索引值,如果没有找到,则返回 -1。而 includes() 方法不需要返回索引位置,只需返回一个布尔类型的值,直接表明查找的元素是否在数组中出现。

其次,includes() 方法支持比较复杂的数据类型,而 indexOf() 方法只能用于比较基本的数据类型。

最后,和 indexOf() 方法一样,includes() 方法也有一个可选的参数 fromIndex,可以指定从数组的哪一个索引位置开始搜索。

总结

本文介绍了在 JavaScript 中使用 ES8 的 Array.prototype.includes() 方法实现判断数组是否包含值的功能。相比于 indexOf() 方法,使用 includes() 方法可以更方便地进行数组元素的查找,并且支持更复杂的数据类型。希望本文能为读者理解和运用 Array.prototype.includes() 方法提供一些帮助。

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

纠错
反馈