Como Encontrar O Índice De Um Elemento De Um Array Em Javascript

Digamos que temos o seguinte array e o banco de dados nos retorna apenas o valor da role, mas precisamos exibir em nosso front-end o valor da label. Para isso, precisamos acessar a lista pela role e retornar o nome da mesma. Mas como fazer isso?

1
2
3
4
5
6
7
8
const lista = [
{ role: 'DOUTORADO', name: 'Doutorado' },
{ role: 'MESTRADO', name: 'Mestrado' },
{ role: 'POS_GRADUACAO', name: 'Pós-graduação' },
{ role: 'GRADUACAO', name: 'Graduação' },
{ role: 'ENSINO_MEDIO', name: 'Ensino Médio' },
{ role: 'NONE', name: 'None' }
];

Aplicação

Em nossa API, quando fazemos o GET do usuário, ele retorna a apenas a role do usuário. Por questões visuais, não podemos deixar exibindo na tela uma informação sem a devida tratativa, correto? Então como faríamos para acessar o name da lista através da role que temos na mão? Para isso, podemos usar o FindIndex!

Com uma variável auxiliar, encontramos o index da role desejada e acessamos o valor do name através dela! No exemplo, vamos usar ‘ENSINO_MEDIO’ como um valor vindo da API.

1
2
const educationIndex = lista.findIndex(item => item.role === 'ENSINO_MEDIO'); // Busca o Index que tenha a role como 'ENSINO_MEDIO'
const escolaridade = lista[educationIndex].name // Sabendo o índice, fica fácil acessar o name desejado

E o resultado:
Retorno da função: Ensino Médio

Bem fácil e pode ser muito útil quando precisamos acessar um valor que não sabemos o índice diretamente!