JavaScript 如何找到数组中特定值的索引

JavaScript 如何找到数组中特定值的索引

在本文中,我们将学习如何在JavaScript中找到具有特定值的数组索引。在JavaScript中,有多种方法可以找到具有特定值的数组的索引,包括使用indexOf()方法,findIndex()方法和for循环。下面是可能的方法列表:

  • 使用indexOf()
  • 使用findIndex()
  • 使用for循环

    示例1:

Input: ['apple', 'banana', 'cherry', 'orange']
N= 'cherry'
Output: 2
The index of the word cherry is 2

示例2:

Input: [10, 20, 30, 40]
N= 50
Output: -1
The value 50 is not present in given array. 
Hence it returns -1

方法1:使用indexOf()方法

JavaScript中的indexOf()方法用于在数组中查找指定元素的第一个出现的索引。如果在数组中找到该元素,则返回元素的索引,否则返回-1。

语法: 使用indexOf()方法的语法如下:

array.indexOf(searchElement[, fromIndex])

参数:

  • searchElement: 要查找索引的元素。
  • fromIndex: 可选参数,指定搜索的起始索引。如果省略fromIndex参数,则从索引0开始搜索。如果fromIndex参数为负数,则从数组末尾开始计算,从-1开始向后计算。

这里的数组表示要搜索元素的特定数组。

示例 1: 在本例中,我们有一个水果数组,并且想要找到元素“cherry”的索引。我们使用indexOf()方法在水果数组中搜索“cherry”,并返回了“cherry”的索引,即2。

Javascript

const fruits = ['apple', 'banana', 'cherry', 'orange']; 
const index = fruits.indexOf('cherry'); 
console.log(index); // Output: 2

输出:

2

示例2: 在这个示例中,我们有一个数字数组,我们想要找到元素50的索引。由于50不在numbers数组中,indexOf()方法返回-1。

Javascript

const numbers = [10, 20, 30, 40]; 
const index = numbers.indexOf(50); 
console.log(index); // Output: -1

输出:

-1

方法2:使用 findIndex()方法

JavaScript中的findIndex()方法用于获取数组中满足特定条件或测试函数的初始元素的索引。该方法返回通过测试的第一个元素的索引,如果没有元素通过测试,则返回-1。findIndex()方法不修改原始数组。

语法: 下面是使用findIndex()方法的语法:

array.findIndex(
    callback(currentValue[, index[, array]])[, 
    thisArg]
)

参数:

  • callback: 在数组中测试每个元素的函数。它需要三个参数。
  • array (可选): 调用findIndex()方法的数组。
  • currentValue: 当前正在处理的数组元素。
  • index (可选): 要处理的当前数组元素的索引。
  • thisArgument (可选): 一个对象,可以在回调函数中引用this关键字。
    如果当前元素通过了测试,则回调函数应该返回true;否则,返回false。

示例3: 这是一个示例,展示了如何使用findIndex()方法来找到数组中第一个大于25的元素的索引。

Javascript

const array = [10, 20, 30, 40]; 
const index = array.findIndex(num => num > 25); 
console.log(index); // Output: 2

输出:

2

在上面的示例中,findIndex()方法将提供的箭头函数应用于numbers数组的每个元素,直到找到一个元素通过了测试(即num > 25)。该函数返回通过了测试的第一个元素的索引,本例中为2。

示例4: 在上面的示例中,findIndex()方法将提供的箭头函数应用于fruits数组的每个元素,但没有元素通过了测试(即fruit = ‘kiwi’)。因此,该方法返回-1。

Javascript

const fruits = ['apple', 'banana', 'cherry', 'orange']; 
const index = fruits.findIndex(fruit => fruit === 'kiwi'); 
console.log(index); // Output: -1

输出:

-1

方法3. 使用 for循环

找到数组中特定值的索引的另一种方法是使用for循环遍历数组,并将每个元素与该值进行比较。

语法:

for (let i = 0; i < arraynumbers.length; i++) {
    if (arraynumbers[i] === value) {
        // index found, do something
        break;
    }
}

在上面的语法中,数组指的是要搜索的数组,targetValue是要找到的值,i是循环中使用的索引变量。

循环从索引0开始遍历数组的每个元素,并检查当前元素是否等于目标值。如果找到目标值,则将该元素的索引存储在一个变量中,并使用break语句终止循环。

方法4: 在这个例子中,循环遍历numbers数组的每个元素,并检查当前元素是否等于30。当找到元素30位于索引2时,使用break语句终止循环,并将索引2存储在索引变量中。最后,将索引变量记录到控制台,输出结果为2。

Javascript

const arraynumbers = [10, 20, 30, 40]; 
let index = -1; 
for (let i = 0; i < arraynumbers.length; i++) { 
    if (arraynumbers[i] === 30) { 
        index = i; 
        break; 
    } 
} 
console.log(index); // Output: 2

输出:

2

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程