ES8 中 Array.prototype.includes() 用法(包含解决 includes 除检测外的问题)

阅读时长 3 分钟读完

在 ES7 中,Array 增加了一个新的原型方法:Array.prototype.includes(),用于检查数组中是否含有某个元素。在 ES8 中,它被标准化了,并支持第二个(可选的)参数,可以指定搜索的起始位置。本文将详细介绍 includes() 方法的使用方法,并提供解决 includes() 除检测外的问题的方法。

使用 includes() 方法

includes() 方法用于检测数组中是否包含一个特定值,并返回一个布尔值。其语法如下:

其中,valueToFind 表示要查找的值,fromIndex 表示从哪个位置开始查找。如果省略 fromIndex,includes() 会从索引 0 开始查找。

includes() 的返回值为布尔值。如果数组包含 valueToFind,返回 true;否则返回 false。

下面是一个示例代码:

解决 includes() 除检测外的问题

尽管 includes() 方法非常方便,但它不是万能的。在某些情况下,它可能会导致问题。例如,在测试对象数组时,JavaScript 只比较引用而不比较值,因此不会正确地识别包含相同属性值的两个不同对象。

在这种情况下,我们可以使用 Array.prototype.findIndex() 方法来查找包含特定值的元素的索引,并在数组中进行比较。然后我们就可以在数组中精确地找到所需的元素和对象。

以下是一个示例代码,演示如何使用 Array.prototype.findIndex() 方法来查找数组中包含特定属性值的对象:

-- -------------------- ---- -------
----- ------ - -
  - ----- ------ ---- -- --
  - ----- ------- ---- -- --
  - ----- ------- ---- -- --
--

----- ------ - - ----- ------- ---- -- --

----- ---------- - ------------------ -- ------ --- ----------- -- ----- --- ------------

-- ----------- --- --- -
  ------------------ ------ -- ----- -------------- -- --------------------
- ---- -
  ------------------- --- --------
-

通过使用 includes() 和 findIndex() 方法,我们可以更好地利用 JavaScript 数组,并使用它们来有效地解决我们的问题。

结论

在本文中,我们探讨了 ES8 中 Array.prototype.includes() 方法的用法,以及如何使用它来解决一些问题。通过正确使用 includes() 和 findIndex() 方法,我们可以更好地利用 JavaScript 数组,并使用它们来有效地解决我们的问题。我们建议你在编写 JavaScript 代码时,始终牢记这些工具,并根据需要使用它们。

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

纠错
反馈