Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Reference
  4. Standard built-in objects
  5. Array
  6. indexOf()

Array.prototype.indexOf()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

TheindexOf() method ofArray instances returns the first index at which agiven element can be found in the array, or -1 if it is not present.

Try it

const beasts = ["ant", "bison", "camel", "duck", "bison"];console.log(beasts.indexOf("bison"));// Expected output: 1// Start from index 2console.log(beasts.indexOf("bison", 2));// Expected output: 4console.log(beasts.indexOf("giraffe"));// Expected output: -1

Syntax

js
indexOf(searchElement)indexOf(searchElement, fromIndex)

Parameters

searchElement

Element to locate in the array.

fromIndexOptional

Zero-based index at which to start searching,converted to an integer.

  • Negative index counts back from the end of the array — if-array.length <= fromIndex < 0,fromIndex + array.length is used. Note, the array is still searched from front to back in this case.
  • IffromIndex < -array.length orfromIndex is omitted,0 is used, causing the entire array to be searched.
  • IffromIndex >= array.length, the array is not searched and-1 is returned.

Return value

The first index ofsearchElement in the array;-1 if not found.

Description

TheindexOf() method comparessearchElement to elements of the array usingstrict equality (the same algorithm used by the=== operator).NaN values are never compared as equal, soindexOf() always returns-1 whensearchElement isNaN.

TheindexOf() method skips empty slots insparse arrays.

TheindexOf() method isgeneric. It only expects thethis value to have alength property and integer-keyed properties.

Examples

Using indexOf()

The following example usesindexOf() to locate values in an array.

js
const array = [2, 9, 9];array.indexOf(2); // 0array.indexOf(7); // -1array.indexOf(9, 2); // 2array.indexOf(2, -1); // -1array.indexOf(2, -3); // 0

You cannot useindexOf() to search forNaN.

js
const array = [NaN];array.indexOf(NaN); // -1

Finding all the occurrences of an element

js
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

js
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,spinachupdateVegetablesCollection(veggies, "spinach");// spinach already exists in the veggies collection.

Using indexOf() on sparse arrays

You cannot useindexOf() to search for empty slots in sparse arrays.

js
console.log([1, , 3].indexOf(undefined)); // -1

Calling indexOf() on non-array objects

TheindexOf() method reads thelength property ofthis and then accesses each property whose key is a nonnegative integer less thanlength.

js
const arrayLike = {  length: 3,  0: 2,  1: 3,  2: 4,  3: 5, // ignored by indexOf() since length is 3};console.log(Array.prototype.indexOf.call(arrayLike, 2));// 0console.log(Array.prototype.indexOf.call(arrayLike, 5));// -1

Specifications

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

Browser compatibility

See also

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2026 Movatter.jp