JavaScript Array findIndex()

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()