JavaScript Array findIndex()
Example
Get the index of the first element in the array that has a value of 18 or more:
const ages = [3, 10, 18, 20];
ages.findIndex(checkAge) // Returns 3
function checkAge(age) {
return age > 18;
}
Try it Yourself »
More "Try it Yourself" examples below.
Definition and Usage
The findIndex() method returns the index of the first array element that passes a
test (provided by a function).
The method executes the function once for each element present in the array:
- If it finds an array element where the function returns a true value, findIndex() returns the index of that array element (and does not check the remaining values)
- Otherwise it returns -1
findIndex() does not execute the function for empty array elements.
findIndex() does not change the original array.
Browser Support
The numbers in the table specify the first browser version that fully supports the method:
| Chrome 45 | Edge 12 | Firefox 25 | Safari 7.1 | Opera 32 |
| Sep 2015 | Jul 2015 | Jul 2014 | Sep 2014 | Sep 2015 |
The findIndex() method is not supported in Internet Explorer.
Syntax
array.findIndex(function(currentValue, index, arr), thisValue)
Parameter Values
| Parameter | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| function(currentValue, index,arr) | Required. A function to be run for each element in the array. Function arguments:
|
||||||||
| thisValue | Optional. 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 |
Technical Details
| Return Value: | Returns the array element index if any of the elements in the array pass the test, otherwise it returns -1 |
|---|---|
| JavaScript Version: | ECMAScript 6 |
More Examples
Example
Get the index of the first element that has a value above a specific number:
<p>Minimum age: <input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Try it</button>
<p>Any ages above: <span id="demo"></span></p>
<script>
const ages = [4, 12, 16, 20];
function checkAdult(age) {
return age >= document.getElementById("ageToCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.findIndex(checkAdult);
}
</script>
Try it Yourself »

