ECMAScript 2018:为什么你需要使用 Array.prototype.includes()?

在前端开发中,数组是一种常见的数据类型。在实际的开发过程中,我们常常需要判断某个元素是否在一个数组中。以往,我们可能需要使用 indexOf() 方法来实现这个目标,然而随着 ECMAScript 2018 的发布,Array.prototype.includes() 方法已成为一种更好的选择。在这篇文章中,我们将详细探讨为什么需要使用 Array.prototype.includes()。

什么是 Array.prototype.includes()?

Array.prototype.includes() 方法用于确定一个数组是否包含一个指定的值。这个方法返回一个布尔值,表示数组中是否存在该值。具体用法如下:

其中,valueToFind 参数为要搜索的值,fromIndex 参数为搜索的起始位置。如果省略 fromIndex 参数,则从数组的开始位置搜索。

为什么使用 Array.prototype.includes()?

下面的例子可以更好地展示为什么需要使用 Array.prototype.includes():

在上述例子中,我们先用 indexOf() 方法来搜索数组中的元素 3。如果元素存在,我们会用 if 语句打印出 'found'。接下来,我们使用了 includes() 方法来完成同样的任务。通过比较两种方式,我们可以发现 includes() 方法的代码更加简洁,容易理解,并且不需要额外的判断语句。

此外,includes() 方法在判断 NaN 值时表现得更为合理。我们知道,数组的 indexOf() 方法使用的是严格相等运算符来判断元素是否相等,这会造成一些问题。例如:

在上面的例子中,我们在数组中存储了一个 NaN 值,但是 indexOf() 方法无法正确处理这个值,返回了一个 -1。而如果我们使用 includes() 方法,就能得到正确的结果:

总结

在实际的开发工作中,使用 Array.prototype.includes() 方法能够有效简化代码,提升代码的可读性,并且能够更好地处理一些特殊情况,比如 NaN 值的判断。如果你还在使用 indexOf() 方法来判断数组中的元素是否存在,不妨尝试一下 includes() 方法,相信这个方法会给你带来更好的使用体验。

示例代码

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

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


纠错
反馈