Fácil JavaScript

Dobrar números com map

Enunciado

Dado o array [1, 2, 3, 4, 5], use map para criar um novo array com cada número multiplicado por 2. Imprima o resultado no console.

Requisitos

  • Usar o método map.
  • O array resultante deve conter [2, 4, 6, 8, 10].
  • Imprimir o array resultante.

Código inicial

const numeros = [1, 2, 3, 4, 5];
// Seu código aqui

Saída esperada

[ 2, 4, 6, 8, 10 ]
Ver dica

A função de callback do map recebe cada número e deve retornar o número multiplicado por 2.

Mostrar solução
const numeros = [1, 2, 3, 4, 5];
const dobrados = numeros.map(num => num * 2);
console.log(dobrados);

Passo a passo

  1. Declaramos o array numeros com os valores [1, 2, 3, 4, 5].
  2. Chamamos numeros.map() e passamos uma arrow function num => num * 2.
  3. A função é executada para cada elemento do array, retornando o dobro do valor.
  4. O map cria um novo array com os resultados e o armazena em dobrados.
  5. Exibimos dobrados no console.

Por que funciona

O método map percorre o array original e aplica a função de callback a cada elemento, criando um novo array com os valores retornados. Como a função retorna num * 2, cada elemento é transformado no seu dobro. O array original não é modificado.

Erros comuns

  • Esquecer de retornar: numeros.map(num => { num * 2 }) retorna undefined porque a função não tem return. Use num => num * 2 ou adicione return num * 2.
  • Modificar o array original: map não altera o array original, mas se você fizer numeros.map(num => num *= 2) ainda retorna um novo array; porém, evite efeitos colaterais.

Outra forma de resolver

Usar um loop for:

const dobrados = [];
for (let i = 0; i < numeros.length; i++) {
  dobrados.push(numeros[i] * 2);
}

Mas map é mais conciso e expressivo.

Saída esperada

[ 2, 4, 6, 8, 10 ]