在 JavaScript 中搜索数组的不同方法

2025 年 3 月 2 日 | 阅读 7 分钟

数组是存储不同数据类型的项目集合。我们可以利用多种方法从数组中找到特定元素。有多种方法可以用于在数组中搜索元素,如下所示:

  • find() 方法
  • findIndex() 方法
  • some() 方法
  • includes() 方法
  • indexOf() 方法
  • every() 方法
  • filter() 方法
  • forEach() 方法
  • set.has() 方法

我们将通过示例来理解每种方法。

find() 方法

find() 方法用于从数组中返回满足给定条件的第一个元素。它检查数组中存在的所有项,然后打印适合条件的第一个元素。如果数组为空,则 find() 方法将不起作用。

语法

下面是上述语法的描述:

function(currentValue, index, array_name): 这是在每个数组元素上执行的函数。它接受三个参数,如下所示:

  • currentValue: 它是当前元素的值。
  • index: 它是索引号。
  • array_name: 它是您正在执行函数的数组的名称。

thisValue: 这是一个可选参数。它是一个值,在函数执行时用作 this

演示

我们将创建一个名为 "numbers" 的数组,并使用 find() 方法查找数组中第一个大于 70 的数字。

代码

输出

第一个大于 60 的项如下所示。

 
62   

findIndex() 方法

findIndex() 函数用于给出满足条件的数组项的第一个索引。

语法

下面是上述语法的描述:

function(currentValue, index, array_name): 这是在数组的每个元素上执行的函数。它接受三个参数,如下所示:

  • currentValue: 它是当前元素的值。
  • index: 它是索引号。
  • array_name: 它是您正在执行函数的数组的名称。

thisValue: 这是一个可选参数。它是一个值,在函数执行时用作 this

示例

在此示例中,我们将使用 findIndex() 方法查找数组中第一个项的索引。

代码

输出

第一个大于 60 的项的索引如下所示。

 
2   

some() 方法

some() 方法用于确定数组中是否至少有一个项满足给定条件。

语法

下面是上述语法的描述:

callback(element, index, array_name): 这是在数组的每个元素上实现的 callback 函数。它接受三个参数,如下所示:

  • element: 它是当前元素的值。
  • index: 它是索引号。
  • array_name: 它是您正在执行函数的数组的名称。

thisArg: 这是一个可选参数。它是一个值,在函数执行时用作 this

示例

在此示例中,我们将使用 some() 方法查找满足条件的项。

代码

输出

 
true
true
false   

includes() 方法

includes() 方法用于检查数组中项的可用性。如果该项可用,则返回 true,否则返回 false。

语法

下面是上述语法的描述:

includes(searchIndex, start): 这是在数组的每个元素上实现的函数。它接受两个参数,如下所示:

  • searchIndex: 它是要搜索的值。
  • start: 这是一个起始位置,它是一个可选参数。

示例

在此示例中,我们将使用 includes() 方法检查数组中是否存在项。如果存在,则打印 true,否则打印 false。

代码

输出

 
true
false
false
true   

indexOf() 方法

indexOf() 方法用于查找指定搜索元素在数组中第一次出现的索引。它打印第一个找到的元素的索引;否则打印 -1。

语法

下面是上述语法的描述:

indexOf(element, start): 这是在数组的每个元素上实现的函数。它接受两个参数,如下所示:

  • element: 它是要搜索的值。
  • start: 这是一个可选参数,它是搜索开始的起始位置。

示例

在此示例中,我们将使用 indexOf() 方法查找数组中第一个项的索引。

代码

输出

 
0
-1
-1
3   

every() 方法

every() 方法用于检查条件的相反情况。如果数组中存在的每个元素都满足条件的相反情况,则函数返回 true;否则返回 false。

语法

下面是上述语法的描述:

callback(element, index, array_name): 这是在每个数组元素上执行的 callback 函数。它接受三个参数,如下所示:

  • element: 它是当前元素的值。
  • index: 它是索引号。它是一个可选参数。
  • array_name: 它是您正在执行函数的数组的名称。它是一个可选参数。

thisArg: 这是一个可选参数。它是一个值,在函数执行时用作 this

示例

在此示例中,我们将使用 every() 方法来检查指定条件的相反情况。

代码

输出

 
true
true
false
false   

filter() 方法

filter() 方法用于构造一个新数组,其中包含满足给定条件从提供数组中筛选出来的元素。它不影响原始数组,并且不适用于空数组。

语法

上面给出的语法的描述:

callback(element, index, array_name): 这是在每个数组元素上执行的 callback 函数。它接受三个参数,如下所示:

  • element: 它是当前元素的值。
  • index: 它是索引号。
  • array_name: 它是您正在执行函数的数组的名称。

thisValue: 这是一个可选参数。它是一个值,在函数执行时用作 this

示例

我们将使用 filter() 方法从提供的数组中创建一个新数组。如果数组中没有元素满足给定条件,则新数组将为空。

代码

输出

我们可以看到一个包含大于 70 的数字的新数组。

 
[ 101, 75, 105 ]   

forEach() 方法

forEach() 将遍历数组中存在的每个元素。它检查数组中是否有目标元素。如果存在,则打印 true;否则打印 false。

语法

语法的描述:

function(currentValue, index, array_name): 这是在每个数组元素上执行的 callback 函数。它接受三个参数,如下所示:

  • currentValue: 它是当前元素的值。
  • index: 它是当前元素的索引号。
  • array_name: 它是您正在执行函数的数组的名称。

thisValue: 这是一个可选参数。它是一个值,在函数执行时用作 this

示例

在此示例中,我们将使用 forEach() 方法遍历提供的数组中可用的每个元素。

代码

输出

 
true   

Set.has() 方法

这些方法用于在数组中查找元素。它首先将数组转换为 Set,然后使用 set.has() 方法查找元素。

语法

上面给出的语法的描述:

Set(array_name): 它用于将数组转换为 Set。它将数组名称作为其参数。

set.has(value): 它用于查找目标元素。它接受我们要搜索的值。

示例

在此示例中,我们将使用 set.has() 方法从给定数组中搜索元素。

代码

输出

 
true
false   

结论

在本文中,我们理解了在 JavaScript 中搜索数组的不同方法。我们通过示例理解了从给定数组中查找数组的各种方法。这些方法是 find() 方法、findIndex() 方法、some() 方法、includes() 方法、indexOf() 方法、every() 方法、filter() 方法、forEach() 方法和 set.has() 方法。