Método indexOf
El método indexOf realiza una búsqueda de un elemento
en un array. En el primer parámetro
especificamos el elemento a buscar.
El método devuelve el índice del primer elemento encontrado,
o -1 si no existe tal elemento.
El segundo parámetro opcional del método
establece la posición desde la cual
debe comenzar la búsqueda.
Sintaxis
array.indexOf(elemento, [desde dónde comenzar]);
Ejemplo
Encontremos la posición del primer tres en el array:
let arr = [1, 2, 3, 3, 3, 4, 5];
let res = arr.indexOf(3);
console.log(res);
Resultado de la ejecución del código:
2
Ejemplo
Supongamos ahora que el elemento a verificar no está en el array:
let arr = [1, 2, 3, 4, 5];
let res = arr.indexOf(6);
console.log(res);
Resultado de la ejecución del código:
-1
Ejemplo
Comencemos la búsqueda desde una posición dada:
let arr = [1, 2, 3, 4, 5, 3];
let res = arr.indexOf(3, 4);
console.log(res);
Resultado de la ejecución del código:
5
Error común
A veces el método se utiliza para verificar la presencia de un elemento en un array. En este caso es fácil cometer un error si la verificación se realiza de la siguiente manera:
if (arr.indexOf(3)) {
console.log(true);
} else {
console.log(false);
}
Dicha verificación funcionará para
todas las posiciones, excepto para la cero - ya que
esta se interpreta como false.
Es correcto verificar la presencia de un elemento de la siguiente manera:
if (arr.indexOf(3) !== -1) {
console.log(true);
} else {
console.log(false);
}
Véase también
-
método
includes,
que verifica la presencia de un elemento en un array -
método
lastIndexOf,
que busca elementos desde el final -
método
at,
que devuelve un elemento del array por su índice -
método
match,
que busca coincidencias en una cadena -
método
search,
que realiza una búsqueda