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
- Declaramos o array
numeroscom os valores[1, 2, 3, 4, 5]. - Chamamos
numeros.map()e passamos uma arrow functionnum => num * 2. - A função é executada para cada elemento do array, retornando o dobro do valor.
- O
mapcria um novo array com os resultados e o armazena emdobrados. - Exibimos
dobradosno 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 })retornaundefinedporque a função não temreturn. Usenum => num * 2ou adicionereturn num * 2. - Modificar o array original:
mapnão altera o array original, mas se você fizernumeros.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 ]