13/10/2020
Formas de iterar um array no Javascript
Você que tá começando agora deve estar se perguntando pra que eu preciso iterar um arry? Antes de mais nada vale lembrar que o array é uma variável com a possibilidade de ter mais de um valor por vez. "Ok, e onde uso isso?" Bom a maioria das respostas vindas de api, são em json em formato de objeto ou array e se você precisar exibir isso, filtrar, buscar, paginar, ou formatar esse dado da lista é bem provável que você precise utilizar alguma dessas funções.
Mas calma lá, existem muitas formas de se iterar um array em JavaScript, algumas mais modernas e outras nem tanto, vou demonstrar algumas(map, filter, find, etc), as mais usadas.
- • map
Espera a funçãocallback
passada por argumento para cada elemento do array e retorna um novo array como resultado.let items = ['banana', 'uva', 'pêra', 'maçã'];
items.map((item) => console.log(item));
saída:
banana
uva
pêra
maçã
- • filter
Retorna um novo array com o item que passa no teste implementado pela função atribuída.let items = [{id: 1, nome: 'Carlos'}, {id: 2, nome: 'Eduardo'}, {id: 3, nome: 'Antônio'}];
items.filter((item) => item.nome === 'Carlos' && console.log(item));
saída: [ {id: 1, nome: 'Carlos'} ] - • find
Retorna o primeiro item do array passa no teste implementado pela função atribuída.const items = [{id: 1, nome: 'Carlos'}, {id: 2, nome: 'Eduardo'}, {id: 3, nome: 'Antônio'}];
items.find((item) => item.nome === 'Carlos' && console.log(item));
saída: {id: 1, nome: 'Carlos'} - • some
Testa se pelo menos um dos itens do array passa no teste implementado pela função atribuída e retorna um valor true ou false.
const items = [{id: 1, nome: 'Carlos'}, {id: 2, nome: 'Eduardo'}, {id: 3, nome: 'Antônio'}];
items.some((item) => item.some === 'Carlos' && console.log(item));
saída: true - • foreach
const items = ['banana', 'uva', 'pêra', 'maçã'];
items.foreach((item) => console.log(item));
saída:
banana
uva
pêra
maçã - • for
const items = ['banana', 'uva', 'pêra', 'maçã'];
for(let i = 0; i <== items.lenght; i++;) {
console.log(item[i])
}
saída:
banana
uva
pêra
maçã