Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

83
Visualizações
¿Cómo puedo obtener resultados de una matriz dada con las siguientes condiciones?

Soy un principiante en JavaScript y estoy haciendo una prueba en línea para mejorar mis habilidades. Me encontré con esta pregunta:

  1. Agregue 1 punto por cada número par en la matriz
  2. Sume 3 puntos por cada número impar en la matriz
  3. Sume 5 puntos cada vez que aparezca el número 5 en la matriz

Entonces, si me dan esta matriz como ejemplo: ([1,2,3,4,5]) la salida debería ser 13

Esto es lo que tengo hasta ahora:

 export function find_total( my_numbers ) { for(let i = 0; i < my_numbers.length; i++){ if(my_numbers[i] % 2 === 0) { total = total + 1 } if(my_numbers[i] % 2 === 1) { total = total + 3 } if(my_numbers[i] === 5) { total = total + 5 } return total } console.log(total) }

Pero me está dando errores. Obtuve la lógica en inglés pero no pude ponerla en JS. ¿Cuál sería la sintaxis correcta aquí?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El problema está en tus sentencias if.

 function find_total( my_numbers ) { let total = 0; for(let i = 0; i < my_numbers.length; i++){ if(my_numbers[i] === 5) { total = total + 5 } else if(my_numbers[i] % 2 === 0) { total = total + 1 } else if(my_numbers[i] % 2 === 1) { total = total + 3 } } return total; } console.log(find_total([1,2,3,4,5]))

Este código debería imprimir el resultado correcto de 13. No obtuvo una respuesta de 13 porque 5 es impar, por lo que tiene 3 puntos y 5 puntos exclusivos de 5. La clave es no tratar a 5 como si tuviera un punto de número impar, sino que tiene su propio punto independientemente de que sea par o impar.

about 4 years ago · Juan Pablo Isaza Relatório

0

Hay los siguientes problemas en su código:

  1. total en la función find_total nunca se inicializa
  2. declaración de return está fuera de lugar dentro del ciclo for , debe estar fuera, lo que significa el valor de retorno de la función find_total
  3. Es mejor console.log . registrar el valor de la función, en lugar de registrarlo dentro. p.ej. console.log(find_total(...))

Al corregir esto, obtendrá el valor de retorno como 16 para la entrada [1, 2, 3, 4, 5] como se indica en los comentarios.

 function find_total(my_numbers) { let total = 0 // Initialize total with a value of 0 for (let i = 0; i < my_numbers.length; i++) { if (my_numbers[i] % 2 === 0) { total = total + 1 } if (my_numbers[i] % 2 === 1) { total = total + 3 } if (my_numbers[i] === 5) { total = total + 5 } } return total // return outside the loop } console.log(find_total([1, 2, 3, 4, 5])) // console.log outside

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda