JavaScript Array findIndex()

In this tutorial, you will learn about the JavaScript Array findIndex() method with the help of examples.

The findIndex() method returns the index of the first array element that satisfies the provided test function or else returns -1.

Example

// function that returns odd number
function isOdd(element) {
  return element % 2 !== 0;
}

// defining an array of integers
let numbers = [2, 8, 1, 3, 4];

// returns the index of the first odd number in the array let firstOdd = numbers.findIndex(isOdd);
console.log(firstOdd); // Output: 2

findIndex() Syntax

The syntax of the findIndex() method is:

arr.findIndex(callback(element, index, arr),thisArg)

Here, arr is an array.


findIndex() Parameters

The findIndex() method can take two parameters:

  • callback - Function to execute on each element of the array. It takes in:
    • element - The current element of array.
  • thisArg (optional) - Object to use as this inside callback.

findIndex() Return Value

  • Returns the index of the first element in the array that satisfies the given function.
  • Returns -1 if none of the elements satisfy the function.

Example 1: Using findIndex() method

// function that returns even number
function isEven(element) {
  return element % 2 == 0;
}

// defining an array of integers
let numbers = [1, 45, 8, 98, 7];

// returns the index of the first even number in the array let firstEven = numbers.findIndex(isEven);
console.log(firstEven); // 2

Output

2

In the above example, we have used the findIndex() method to find the index of the first even number in the numbers array.

isEven() is a function that returns an even number. We have passed isEven() as a callback in the findIndex() method as- numbers.findIndex(isEven).

The method returns 2 which is the index of the first even number in numbers i.e. 8.


Example 2: findIndex() with Arrow Function

// defining an array
let days = ["Sunday", "Wednesday", "Tuesday", "Friday"];

// returns the first index of 'Wednesday' in the array let index = days.findIndex((day) => day === "Wednesday");
console.log(index); // 1

Output

1

Here we have passed an arrow function as a callback in the findIndex() method. The method returns the first index of 'Wednesday'.


Example 3: findIndex() with Object Elements

// defining an object 
const team = [
  { name: "Bill", age: 10 },
  { name: "Linus", age: 15 },
  { name: "Alan", age: 20 },
  { name: "Steve", age: 34 },
];

// function that returns age greater than or equal to 18
function isAdult(member) {
  return member.age >= 18;
}

// returns the index of the first element which is // greater than or equal to 18 console.log(team.findIndex(isAdult)); // 2

Output

2

Recommended Reading: JavaScript Array find()

Did you find this article helpful?