ES7 的新特性:Array.prototype.includes 方法

阅读时长 4 分钟读完

当你在日常开发中涉及到数组处理时,Array.prototype.indexOf 可能是一个常见的方法。使用该方法时,我们需要手动遍历数组元素来确定一个给定元素是否在该数组中。但是,ES7 中新增的 Array.prototype.includes 方法可以让我们更加方便地确认元素是否存在于数组中。

为什么要使用 Array.prototype.includes 方法

在处理数组时,我们通常需要检查指定元素在数组中是否存在。假设我们想检查一个给定的数值是否在一个数组中:

以上代码中,我们循环遍历数组,查找数组中是否存在与 num 变量中相同的元素。如果找到了元素,则返回该元素在数组中的索引,否则则返回 -1。在使用这种方法时,我们通常需要进行额外的比对以确定是否存在该元素,并且还需要对返回的索引进行判断、排除 false、undefined 或空字符串等情况。

相反,使用 Array.prototype.includes 方法可以更容易地处理这个任务:

以上代码中,我们检查数组中是否存在 num 变量中相同的元素。如果存在,则返回 true。否则,将返回 false。这种方法使我们的代码更加清晰、直观,并且减少了不必要的代码量。

如何使用 Array.prototype.includes 方法

Array.prototype.includes 方法是一个布尔方法,用于检查一个数组中是否包含一个特定的值。该方法返回一个布尔值,即 true 或 false。

该方法接收两个参数:

  • searchElement:需要查找的元素;
  • fromIndex(可选):指定从哪个位置开始搜索元素。如果省略该参数,则默认从头开始搜索。

以下是示例代码:

第一个示例代码检查数组 arr 中是否存在值为 3 的元素。因为该元素存在于数组中,所以该方法返回 true。

第二个示例检查数组中是否存在不存在的值(6)。因为该元素不在数组中,该方法返回 false。

第三个示例检查数组中是否存在值为 3 的元素,但是从第 3 个元素开始搜索。由于 3 在数组中的前三个元素中不存在,因此该方法返回 false。

第四个示例演示了如何使用负数作为 fromIndex。这意味着该方法将从数组的结尾开始搜索。在以上示例代码中,该方法将在从结尾开始的第三个元素(3)位置查找元素并返回 true。

Array.prototype.includes 方法的指导意义

虽然 Array.prototype.indexOf 已经是一个很好的方法,可以用来检查某个元素是否在数组中,但正如我们上面提到的那样,使用该方法需要我们写更多的代码。这就是 Array.prototype.includes 出现的原因,它可以帮助我们节省开发时间和代码的量。

此外,在使用数组时,常常会检查空元素的存在,这些空元素可能会导致代码出现错误。使用 Array.prototype.includes 方法,我们可以轻松地检查数组中是否存在内容(值),并确保代码的正确性。

总结

ES7 中新增的 Array.prototype.includes 方法有效简化了数组操作。使用该方法,我们无需额外的代码,就可以更好地处理数组的元素,而且在初始化数组时,该方法可以帮助我们防止添加空元素。

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

纠错
反馈