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!