menu

JavaScript/Typescript - 16 Topics

DEEP DIVE INTO

JavaScript/Typescript

Topic:findIndex() method

menu

The findIndex() function is a built-in method for arrays in JavaScript. It's used to find the index of the first element in an array that satisfies a specified condition, as determined by a provided callback function. This function is quite powerful for locating an element within an array based on specific criteria.

Here's a deep dive into the findIndex() function:

Basic Syntax:

javascriptarray.findIndex(callback(element, index, array));
  • array: The array in which you want to search for an element.

  • callback: A function that is called for each element in the array. It can take up to three parameters:

    • element: The current element being processed in the array.

    • index (optional): The index of the current element being processed.

    • array (optional): The array findIndex() was called upon.

Return Value:

findIndex() returns the index of the first element in the array for which the callback function returns true. If no such element is found, it returns -1.

Usage Example:

Let's find the index of the first even number in an array of integers:

javascriptconst numbers = [1, 3, 5, 6, 8, 9, 10];

const firstEvenIndex = numbers.findIndex(function (number) {
  return number % 2 === 0;
});

console.log(firstEvenIndex); // Outputs: 3 (the index of the first even number, which is 6)

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

The callback function checks if the current element is even (i.e., number % 2 === 0). Once it finds an even number (6 in this case), it returns the index (which is 3), indicating the position of the first even number in the array.

Additional Points:

  • The findIndex() method stops as soon as it finds the first element that satisfies the condition, so it's efficient for large arrays.

  • If the condition is not met by any element, it returns -1, indicating that no element in the array meets the criteria.

  • The callback function allows you to define complex conditions for finding elements, making findIndex() quite versatile.

Here's an example of how you can use the findIndex() function in a more complex scenario:

javascriptconst people = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 },
  { name: 'Charlie', age: 35 },
];

const index = people.findIndex(function (person) {
  return person.age > 30 && person.name.startsWith('C');
});

console.log(index); // Outputs: 2 (index of the first person over 30 with a name starting with 'C')

In this example, the findIndex() function is used to find the index of the first person who is over 30 years old and has a name starting with 'C' in the people array.

1280 x 720 px