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ção callback 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çã
voltar