Cómo obtener el índice de un elemento en una matriz de JavaScript

A continuación se explica cómo recuperar el índice de un elemento en una matriz JS en función de su valor

Suponga que tiene el valor de un elemento que está contenido en una matriz y desea obtener su índice.

¿Cómo puedes obtenerlo?

Si el elemento es un valor primitivo, como una cadena o un número, puede utilizar laindexOfmétodo de una matriz:

const letters = ['a', 'b', 'c']

const index = letters.indexOf(‘b’)

//index is 1

Recuerde que el índice comienza con el número0

Si el elemento es un objeto, no puede usarlo de esta manera, porque si intenta hacer:

const letters = [
  {
    letter: 'a',
  },
  {
    letter: 'b',
  },
  {
    letter: 'c',
  },
]

const index = letters.indexOf({ letter: ‘b’, })

indexestarán-1lo que significa que no se encontró el artículo. Porque los objetos se comparan por referencia, no por sus valores (de manera diferente para los tipos primitivos). El objeto pasó aindexOfes un objeto completamente diferente al segundo elemento de la matriz.

Puedes usar elfindIndexvalor como este, que ejecuta una función para cada elemento de la matriz, al que se le pasa el elemento y su índice. Al regresar de él, se asignará el valor de retorno al valor de retorno defindIndex:

const letters = [
  {
    letter: 'a',
  },
  {
    letter: 'b',
  },
  {
    letter: 'c',
  },
]

const index = letters.findIndex((element, index) => { if (element.letter === ‘b’) { return true } })

//index is 1


Más tutoriales de js: