Array.prototype.indexOf()
 The indexOf() method returns the first index at which a given element can be found in the array, or -1 if it is not present. 
Try it
Syntax
indexOf(searchElement)
indexOf(searchElement, fromIndex)
Parameters
 searchElement  Element to locate in the array.  
fromIndex Optional
   The index to start the search at. If the index is greater than or equal to the array's length, -1 is returned, which means the array will not be searched. If the provided index value is a negative number, it is taken as the offset from the end of the array. Note: if the provided index is negative, the array is still searched from front to back. If the provided index is 0, then the whole array will be searched. Default: 0 (entire array is searched).   Return value
The first index of the element in the array; -1 if not found.Description

 indexOf() compares searchElement to elements of the Array using strict equality (the same method used by the === or triple-equals operator).    Note: For the String method, see String.prototype.indexOf().  
Examples
Using indexOf()

The following example uses indexOf() to locate values in an array. const array = [2, 9, 9];
array.indexOf(2);     // 0
array.indexOf(7);     // -1
array.indexOf(9, 2);  // 2
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0

Finding all the occurrences of an element
const indices = [];
const array = ['a', 'b', 'a', 'c', 'a', 'd'];
const element = 'a';
let idx = array.indexOf(element);
while (idx !== -1) {
  indices.push(idx);
  idx = array.indexOf(element, idx + 1);
}
console.log(indices);
// [0, 2, 4]
Finding if an element exists in the array or not and updating the array
function updateVegetablesCollection (veggies, veggie) {
  if (veggies.indexOf(veggie) === -1) {
    veggies.push(veggie);
    console.log(`New veggies collection is: ${veggies}`);
  } else {
    console.log(`${veggie} already exists in the veggies collection.`);
  }
}

const veggies = ['potato', 'tomato', 'chillies', 'green-pepper'];

updateVegetablesCollection(veggies, 'spinach');
// New veggies collection is: potato,tomato,chillies,green-pepper,spinach
updateVegetablesCollection(veggies, 'spinach');
// spinach already exists in the veggies collection.
Specifications

Specification
ECMAScript Language Specification # sec-array.prototype.indexof

Browser compatibility




Desktop
Mobile
Server



Chrome
Edge
Firefox
Internet Explorer
Opera
Safari
WebView Android
Chrome Android
Firefox for Android
Opera Android
Safari on IOS
Samsung Internet
Deno
Node.js



indexOf
1
12
1.5
9
9.5
3
≤37
18
4
10.1
1
1.0
1.0
0.10.0


See also
 Polyfill of Array.prototype.indexOf in core-js Array.prototype.lastIndexOf() TypedArray.prototype.indexOf() String.prototype.indexOf() 

Found a problem with this page?

Edit on GitHub
Source on GitHub
Report a problem with this content on GitHub
Want to fix the problem yourself? See our Contribution guide.


Last modified: Aug 6, 2022, by MDN contributors


    
{'path': 'public/docs/javascript/global_objects/array/indexof.html', 'source': 'DevDocs.IO'}