JavaScript findIndex(): Get the index of the first element that meets the condition

The JavaScript findIndex() method is similar to the find() method, except that it returns the index number of an element instead of the element itself. That is, the findIndex() method returns the index number of the first element from a given array that satisfies the given condition. For example:

HTML with JavaScript Code
<!DOCTYPE html>
<html>
<body>

   <p>The first even value is at Index Number: <span id="xyz"></span></p>
   
   <script>
      const numbers = [13, 32, 43, 54, 40];
      
      let firstEvenNumIndex = numbers.findIndex(findFirstEvenIndx);

      function findFirstEvenIndx(x)
      {
         return x%2==0;
      }

      document.getElementById("xyz").innerHTML = firstEvenNumIndex;
   </script>
   
</body>
</html>
Output

The first even value is at Index Number:

However, you can also access the value itself using the returned index number. For example:

HTML with JavaScript Code
<!DOCTYPE html>
<html>
<body>

   <p>The first even number is: <span id="abc"></span></p>
   
   <script>
      const arr = [13, 32, 43, 54, 40];

      let fi = arr.findIndex(findFE);

      function findFE(x)
      {
         return x%2==0;
      }

      document.getElementById("abc").innerHTML = arr[fi];
   </script>
   
</body>
</html>
Output

The first even number is:

Note: Indexing starts with 0. Therefore, index number 1 refers to the second element, not the first.

JavaScript findIndex() syntax

The syntax of the findIndex() method in JavaScript is:

array.findIndex(functionName(currentElementValue, currentElementIndex, currentElementArray), thisValue)

The functionName and currentElementValue are required.

Note: The functionName refers to a function to execute for every element of the array until the given condition inside the function is satisfied.

Note: The currentElementValue basically refers to a variable that will be used as an argument to the function and that, of course, indicates the current value or element of the specified array.

Note: The currentElementIndex refers to the index of the current element.

Note: The currentElementArray refers to the array of the current element.

Note: The thisValue refers to a value passed to the specified function functionName as its this value. The default value is undefined.

The findIndex() method returns -1 if no elements from the given array satisfy the given condition. For example:

HTML with JavaScript Code
<!DOCTYPE html>
<html>
<body>
   
   <script>
      const myarray = [13, 33, 45];

      let firstEvnNmIdx = myarray.findIndex(myfunction);

      function myfunction(x)
      {
         return x%2==0;
      }

      if(firstEvnNmIdx == -1)
         console.log("Even number not found!");
      else
         console.log("The first even number is: ", myarray[firstEvnNmIdx]);
   </script>
   
</body>
</html>

The snapshot given below shows the sample output produced by the above example:

javascript findindex array

JavaScript Online Test


« Previous Tutorial Next Tutorial »


Liked this post? Share it!