当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Javascript Array.findIndex()用法及代码示例


它返回满足提供的测试函数的给定数组中第一个元素的索引。否则返回-1。

  • 一旦找到满足测试函数的元素,它就不会执行该函数。
  • 它不会更改原始数组。

用法:

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

参数:


  • function:为数组中的每个元素运行的函数。
  • currentValue:当前元素的值。
  • index:当前元素的数组索引。
  • array:具有当前元素的数组对象所属。
  • thisValue:要传递给函数的值,以用作其“this”值。
    如果此参数为空,则将值“undefined”作为其“this”值传递。
  • 返回值:
    如果数组中的任何元素通过测试,则返回数组元素索引,否则返回-1。
    JavaScript版本:
    ECMAScript 6
    浏览器支持:
    在第二列中,int值是相应函数浏览器的版本。

    特征 基本支持
    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

    范例1:

function isOdd(element, index, array) {
  return (element%2 == 1);
}

print([4, 6, 8, 12].findIndex(isOdd)); 

输出:

-1

在此示例中,函数findIndex()查找包含奇数的所有索引。由于不存在奇数,因此它返回-1。

范例2:

function isOdd(element, index, array) {
  return (element%2 == 1);
}

print([4, 6, 7, 12].findIndex(isOdd)); 

输出:

2

在此示例中,函数findIndex()查找包含奇数的所有索引。由于7是奇数,因此它返回其索引2。

程序:

  • 在此,JavaScript中的Array.findIndex()方法返回满足提供的测试函数的数组中第一个元素的索引。否则返回-1。
    让我们看一下JavaScript程序:
    // 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));

    输出:

    > 2
    
  • 应用:

  • 此Array.findIndex()方法可用于查找数组中素数的元素的索引(如果没有素数则返回-1)。
    让我们看一下JavaScript程序:
    // 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));

    输出:

    > -1
    > 2
    


相关用法


注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 JavaScript | Array.findIndex() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。