Médio JavaScript
Soma dos números pares
Enunciado
Escreva um programa que percorra um array de números usando for...of e some apenas os números pares. Imprima a soma final. Considere o array [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].
Requisitos
- Use
for...ofpara iterar sobre o array. - Use
ifpara verificar se o número é par (resto da divisão por 2 igual a 0). - Acumule a soma em uma variável e imprima o resultado.
Código inicial
const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let soma = 0;
// Use for...of e if para somar os pares
Saída esperada
30
Ver dica
Dentro do laço, use if (numero % 2 === 0) para identificar os pares.
Mostrar solução
// Soma dos números pares
const numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let soma = 0;
for (const numero of numeros) {
if (numero % 2 === 0) {
soma += numero;
}
}
console.log(soma);
Passo a passo
- Declaramos o array
numeroscom os valores de 1 a 10. - Inicializamos
let soma = 0;para acumular o resultado. - O laço
for...ofpercorre cada elemento do array, atribuindo-o à variávelnumero. - Dentro do laço, o
ifverifica senumero % 2 === 0. O operador%retorna o resto da divisão; se for 0, o número é par. - Se for par, somamos
numeroà variávelsoma. - Após o laço,
console.log(soma)imprime o total acumulado (30).
Por que funciona
O for...of itera diretamente sobre os valores do array, sem precisar de índices. A condição numero % 2 === 0 filtra apenas os pares, e a variável soma acumula os valores selecionados.
Erros comuns
- Usar
for...inem vez defor...of:for...initera sobre índices (0, 1, 2...), enumeroseria o índice, não o valor. Exemplo errado:for (const i in numeros) { if (i % 2 === 0) soma += i; // soma índices, não valores } - Esquecer de inicializar
somacom 0:let soma;resulta emundefinede a soma viraNaN. - Usar
=em vez de===na condição:if (numero % 2 = 0)é erro de sintaxe.
Outra forma de resolver
Usar reduce para somar os pares de forma mais funcional:
const soma = numeros.reduce((acc, n) => n % 2 === 0 ? acc + n : acc, 0);
console.log(soma);
Saída esperada
30