Oi Pedro, tudo bem?
Sim, você está correto! O método forEach percorre cada elemento do array e executa uma função de callback que você passa como parâmetro. Ele não cria um novo array e não retorna nenhum valor, ele simplesmente executa uma ação em cada elemento do array.
Veja um exemplo simples:
const numbers = [1, 2, 3, 4, 5];
numbers.forEach(number => console.log(number * 2));
Neste exemplo, o método forEach está sendo utilizado para percorrer o array de números e multiplicar cada elemento por 2, exibindo o resultado no console. Mas note que o forEach não retorna um novo array com os valores multiplicados, ele apenas executa a ação em cada elemento do array.
Já o método map, assim como o forEach, percorre cada elemento do array e executa uma função de callback que você passa como parâmetro. A diferença é que o map cria um novo array com os valores resultantes da função de callback.
Veja um exemplo:
const numbers = [1, 2, 3, 4, 5];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers); // [2, 4, 6, 8, 10]
Neste exemplo, o método map está sendo utilizado para percorrer o array de números e multiplicar cada elemento por 2, criando um novo array com os valores resultantes. Note que o novo array é armazenado na variável doubledNumbers e é retornado pelo método map.
Uma observação importante é que o método map não altera o array original. Ele cria um novo array com os valores resultantes da função de callback, mas o array original permanece inalterado.
Espero que tenha ficado claro a diferença entre os métodos forEach e map! São métodos bastante úteis em manipulação de arrays em JavaScript.
Um abraço e bons estudos.