ES8 Array.prototype.includes() 方法详解

在ES8(ECMAScript 2017)中,Array.prototype.includes() 方法被引入到了 JavaScript 中。这个方法用于判断一个数组是否包含一个指定的值,如果包含则返回 true,否则返回 false。本文将详细介绍该方法的使用方法和注意事项。

语法

Array.prototype.includes(searchElement, fromIndex)

  • searchElement:必选项,要搜索的元素。
  • fromIndex:可选项,从该位置开始搜索。如果 fromIndex 为负数,则从数组末尾开始计算。

返回值

如果数组中包含指定的元素,则返回 true,否则返回 false。

示例

注意事项

  • Array.prototype.includes() 方法与 Array.prototype.indexOf() 方法的不同之处在于前者可以正确处理 NaN 和 -0。
  • 当搜索元素为 NaN 时,Array.prototype.includes() 方法会返回 true。而 Array.prototype.indexOf() 方法会返回 -1。
  • 当搜索元素为 -0 时,Array.prototype.includes() 方法会返回 true。而 Array.prototype.indexOf() 方法会返回 0。
  • 如果 fromIndex 大于等于数组的长度,则返回 false。
  • 如果 fromIndex 为负数,则从数组末尾开始计算。如果负数的绝对值大于等于数组的长度,则从数组头开始计算。
  • Array.prototype.includes() 方法不会改变原数组。

使用场景

Array.prototype.includes() 方法可以用于判断一个数组中是否包含某个元素。在开发中,我们经常需要判断一个元素是否在一个数组中,此时可以使用该方法来简化代码。

此外,当我们需要判断一个元素是否为 NaN 或 -0 时,也可以使用该方法。

总结

Array.prototype.includes() 方法是 ES8 中新增的一个数组方法,用于判断一个数组是否包含一个指定的值。该方法可以正确处理 NaN 和 -0,同时也可以指定搜索起始位置。在开发中,该方法可以用于简化代码,同时也可以用于判断 NaN 和 -0。

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


纠错
反馈