Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

80
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!