
Alguns array methods do JavaScript, por executarem basicamente a mesma função, mas de modos diferentes, podem acabar te confundido.
Esse pode ser o caso do forEach e do map, mas nesse post eu pretendo, de forma rápida, acabar com todas as suas dúvidas.
Assim como o for, o forEach percorre todos os itens de um array, porém, sua utilização é mais recondada, visto que retorna um código muito mais legível.
Exemplo utilizando o for:
function usingFor(array, func) {
for (let i = 0; i < array.length; i = i + 1) {
func(array[i], i)
}
}Agora utilizando o forEach:
nossoForEach(["nome", "nome2"], function (nome, indice) {
console.log(nome, indice)
})O map, assim como o forEach(), percorre todos os itens de um array. Entretanto, o map foi pensado para fazermos operações nesses itens:
const numeros = [1, 2, 3, 4, 5]
const usingMap = numeros.map(numeroAtual => {
return numeroAtual + 1
})
console.log(usingMap) // [2, 3, 4, 5, 6]Se utilizássemos o forEach nessa função, o retorno seria undefined.
Espero ter acabado de vez com a confusão ao utilizarmos um dos métodos. Então, se desejar pesquisar apenas um percorrer um array, vá de forEach. Caso deseje modificar os valores de um array, use o map;
Se surgirem dúvidas ou sugestões, não deixem de mandar aqui nos comentários!