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!