ProgramaçãoJavascript

Diferença entre map e forEach no JavaScript

No JavaScript, as funções map e forEach são usadas para iterar sobre elementos em um array. Embora ambas possam ser usadas para realizar ações em cada elemento do array, elas têm diferenças importantes em relação à manipulação e retorno de valores. Neste post, vamos explorar essas diferenças e entender quando usar cada uma delas.

forEach

A função forEach é usada para iterar sobre os elementos de um array e executar uma função de callback em cada elemento. No entanto, o forEach não retorna um novo array com os resultados das iterações.

1
2
3
4
5
6
7
8
9
10
11
12
const numbers = [1, 2, 3, 4, 5];

numbers.forEach((num) => {
console.log(num * 2);
});

// Output:
// 2
// 4
// 6
// 8
// 10

Nesse exemplo, a função forEach é usada para multiplicar cada elemento do array numbers por 2 e exibir o resultado no console. No entanto, o forEach apenas executa a função de callback em cada elemento e não retorna um novo array com os resultados.

map

Ao contrário do forEach, a função map retorna um novo array com base nas iterações realizadas em cada elemento do array original. Ela aplica uma função de callback a cada elemento e usa o valor retornado para construir um novo array.

1
2
3
4
5
6
7
8
9
const numbers = [1, 2, 3, 4, 5];

const doubledNumbers = numbers.map((num) => {
return num * 2;
});

console.log(doubledNumbers);

// Output: [2, 4, 6, 8, 10]

Neste exemplo, a função map é usada para multiplicar cada elemento do array numbers por 2 e retornar um novo array chamado doubledNumbers. O resultado é um novo array com os elementos modificados.

Uma das vantagens do map é que ele cria um novo array sem modificar o array original, preservando assim os dados originais.

Conclusão

Em resumo, a diferença entre map e forEach no JavaScript é que o forEach é usado apenas para iterar sobre os elementos de um array e executar uma função de callback, enquanto o map é usado para iterar sobre os elementos de um array e construir um novo array com base nos resultados das iterações.

Se você precisa realizar ações em cada elemento de um array sem retornar um novo array, o forEach é uma opção adequada. Por outro lado, se você precisa transformar os elementos de um array e obter um novo array resultante, o map é a escolha mais adequada.

Lembre-se de considerar a finalidade da iteração e o resultado desejado ao escolher entre forEach e map. Ambas as funções são úteis e têm seus usos específicos no desenvolvimento JavaScript.

Espero que este post tenha esclarecido as diferenças entre map e forEach no JavaScript. Aproveite essas funções poderosas para manipular arrays de forma eficiente e concisa em seus projetos.