ES7 中的 Array.prototype.includes() 方法:完整指南

阅读时长 3 分钟读完

在 ES7 中,新增了一个 Array.prototype.includes() 方法,用于判断某个元素是否存在于数组中。这个方法与之前的 indexOf 方法略有不同,主要体现在以下几个方面:

  1. 返回值为布尔类型,而 indexOf 方法返回的是元素在数组中的索引。

  2. includes 方法可以判断 NaN,而 indexOf 方法不能。

  3. includes 方法可以判断同一个引用对象在数组中的位置,而 indexOf 方法不行。

语法

Array.prototype.includes(searchElement[, fromIndex])

searchElement: 要查找的元素

fromIndex (可选): 开始查找的位置,默认值为 0

返回值

返回布尔类型,表示数组中是否包含指定的元素。

示例代码

应用场景

  1. 判断元素是否存在于数组中

在之前,我们通常使用 indexOf 方法来判断数组中是否包含某个元素,indexOf 方法的返回值为元素在数组中的索引,但如果要判断其中是否包含 NaN,就会出现问题,因为在数组中,NaN 和 NaN 是不相等的。而 includes 方法却可以用来判断 NaN。

  1. 判断同一个引用对象是否存在于数组中

在开发中,我们有时需要判断一个对象是否存在于数组中,而不是对象的某个属性是否在数组中,要判断这个对象,通常的方法是遍历数组,判断是否存在一个与该对象引用相同的元素。但使用 includes 方法后,可以直接判断元素是否存在于数组中,而且 includes 方法可以判断同一个引用对象是否存在于数组中。

总结

ES7 中新增的 Array.prototype.includes() 方法,可以方便地判断数组中是否包含某个元素,特别是在判断数组中是否包含 NaN 以及同一个引用对象是否存在于数组中时,更加方便。但是,需要注意的是,includes 方法无法判断对象的属性是否存在于数组中,只能判断对象本身是否存在于数组中。

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

纠错
反馈