Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

293
Vistas
Bucles que continúan hasta que se han encontrado todas las respuestas posibles
function TotalAwards(fullName){ var medals = getColumn("Olympic Medals", "Medal"); var firstName = getColumn("Olympic Medals", "Athlete First Name"); var lastName = getColumn("Olympic Medals", "Athlete Last Name"); for(var i=0; i<medals.length; i++){ if (firstName[i] + " " + lastName[i] == fullName){ return medals[i]; } } return "Not found"; }

Entonces, este código es para llamar a los premios ganados por un ganador en particular. Lo que está mal aquí es que solo obtiene el primer premio del ganador. los premios segundo, tercero y cuarto no están incluidos. ¿Alguien puede ayudarme a arreglar esto?

 console.log (TotalAwards(" Mathew Helm", true));

cuando probé con el registro de la consola para enumerar los premios de Mathew Helm, solo imprime su primera medalla, que es de plata. Los otros premios que recibió en los últimos años no están impresos.

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Solo obtiene el primer premio del ganador porque llama return si se cumple la primera condición. La solución es agregar los valores a una matriz y devolver el resultado.

 function totalAwards(fullName) { var medals = getColumn("Olympic Medals", "Medal"); var firstName = getColumn("Olympic Medals", "Athlete First Name"); var lastName = getColumn("Olympic Medals", "Athlete Last Name"); var result = []; for (var i = 0; i < medals.length; i++) { if (firstName[i] + " " + lastName[i] === fullName) { result.push(medals[i]); } } return result; }

Una alternativa al bucle for es la función de filtro. Puede leer más sobre esto en los documentos de mdn . Sería algo como esto:

 function totalAwards(fullName) { const medals = getColumn("Olympic Medals", "Medal"); const firstName = getColumn("Olympic Medals", "Athlete First Name"); const lastName = getColumn("Olympic Medals", "Athlete Last Name"); return medals.filter((medal, index) => { return firstName[index] + " " + lastName[index] === fullName }) }

Estoy usando la declaración de variables const porque const y let son la forma recomendada de declarar variables en JavaScript. Este capítulo de Información de JavaScript lo explica muy bien y en este profundizan en las diferencias .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto se debe a que sales del bucle en el primer partido. Lo que necesita es cargar los resultados en una matriz y devolverlos en su lugar:

 function TotalAwards(fullName) { var medals = getColumn("Olympic Medals", "Medal"); var firstName = getColumn("Olympic Medals", "Athlete First Name"); var lastName = getColumn("Olympic Medals", "Athlete Last Name"); let result = []; for (var i = 0; i < medals.length; i++) { if (firstName[i] + " " + lastName[i] == fullName) { result.push(medals[i]); } } return result; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

function TotalAwards(fullName){ const medals = getColumn("Olympic Medals", "Medal"); const firstName = getColumn("Olympic Medals", "Athlete First Name"); const lastName = getColumn("Olympic Medals", "Athlete Last Name"); let result = [] medals?.map((medal, index) => { firstName[index] + " " + lastName[index] == fullName && result.push(medal) }) if (result.length === 0) { return "Not found"; } return result; }

Creo que funciona correctamente, es mejor usar const en lugar de var y let que el valor de la variable cambie su valor durante el progreso. El operador condicional '?' verifique que existan medallas, de lo contrario no se repetirá.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda