JavaScript | Array.findIndex() Method

It returns index of the first element in a given array that satisfies the provided testing function. Otherwise -1 is returned.

  • It does not execute the function once it finds an element satisfying the testing function.
  • It does not change the original array.

Syntax:

array.findIndex(function(currentValue, index, arr), thisValue)

Parameters:



  • function:- A function to be run for each element in the array.
  • currentValue:- The value of the current element.
  • index:- The array index of the current element.
  • array:- The array object with current element belongs to.
  • thisValue:- A value to be passed to the function to be used as its “this” value.
    If this parameter is empty, the value “undefined” will be passed as its “this” value.

  • Return value:
    It returns the array element index if any of the elements in the array pass the test, otherwise it returns -1.
    JavaScript Version:
    ECMAScript 6
    Browser Support:
    Here in 2nd column int values is the version of the corresponding feature browser.

    Feature Basic support
    Chrome 45
    Edge Yes
    Firefox 25
    Internet Explorer No
    Opera 32
    Safari 8
    Android webview Yes
    Chrome for Android Yes
    Edge mobile Yes
    Firefox for Android 4
    Opera Android Yes
    iOS Safari 8

    Example 1:

    function isOdd(element, index, array) {
      return (element%2 == 1);
    }
    
    print([4, 6, 8, 12].findIndex(isOdd)); 
    
    

    Output:

    -1
    

    In this example the function findIndex() finds all the indices that contain odd numbers. Since no odd numbers are present therefore it returns -1.

    Example 2:

    function isOdd(element, index, array) {
      return (element%2 == 1);
    }
    
    print([4, 6, 7, 12].findIndex(isOdd)); 
    
    

    Output:

    2
    

    In this example the function findIndex() finds all the indices that contain odd numbers. Since 7 is odd number therefore it returns its index 2.

    Program:

    • Here the Array.findIndex() method in JavaScript returns the index of the first element in the array that satisfies the provided testing function. Otherwise -1 is returned.
      Let’s see JavaScript program:

      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      // input array contain some elements whose index
      // need to find which satisfy the provided 
      // testing function (element > 25).
      var array = [ 10, 20, 30, 110, 60 ];
        
      // calling function for testing.
      function finding_index(element) 
      { return element > 25; }
        
      // Printing the index of element which is satisfies
      // the provided testing function (element > 25)
      console.log(array.findIndex(finding_index));

      chevron_right

      
      

      Output:

      > 2
      
    • Application:

    • This Array.findIndex() Method can be used to find the index of an element in the array that is a prime number (or returns -1 if there is no prime number).
      Let’s see JavaScript program:

      filter_none

      edit
      close

      play_arrow

      link
      brightness_4
      code

      // function isPrime is used to find which
      // number is prime or not prime.
      function isPrime(n) {
        if (n === 1) {
          return false;
        } else if (n === 2) {
          return true;
        } else {
          for (var x = 2; x < n; x++) {
            if (n % x === 0) {
              return false;
            }
          }
          return true;
        }
      }
        
      // Printing -1 because prime number is not found.
      console.log([ 4, 6, 8, 12 ].findIndex(isPrime));
        
      // Printing 2 the index of prime number (7) found.
      console.log([ 4, 6, 7, 12 ].findIndex(isPrime));

      chevron_right

      
      

      Output:

      > -1
      > 2
      


    My Personal Notes arrow_drop_up

    Check out this Author's contributed articles.

    If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

    Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.