Perdón por hacer una pregunta simple en esta plataforma avanzada llena de grandes codificadores, por favor, indíqueme lo que tengo que corregir en mi código. ¡Muchas gracias!
1. Aquí están los requisitos del código:
Declare una función getTimeOfDay. Para referencia:
4:00 AM (inclusive) - 12:00 PM (exclusivo): mañana
12:00 (inclusive) - 17:00 (exclusivo): tarde
17:00 (inclusive) - 20:30 (exclusivo): tarde
20:30 (incluido) - 4:00 (exclusivo): noche
/**
*/
2. Aquí está la PRUEBA que se supone que debo pasar:
actual = getTimeOfDay(4, 0, "AM");
esperado = "mañana";
if (real === esperado) {
console.log("¡Yay! Prueba APROBADA.");
} más {
console.error("Prueba FALLIDA. ¡Sigue intentándolo!");
consola.log(" real: ", real);
console.log(" esperado: ", esperado); }
actual = getTimeOfDay(3, 59, "AM");
esperado = "noche";
if (real === esperado) {
console.log("¡Yay! Prueba APROBADA.");
} más {
console.error("Prueba FALLIDA. ¡Sigue intentándolo!");
consola.log(" real: ", real);
console.log(" esperado: ", esperado);
}
3.aquí está mi código:
function getTimeOfDay(hr,num,AM){ if(hr === AM){ if(hr >= 4 && hr < 12){ if(num >=0 && num <= 59){ return "morning"; } } } else if(hr >= 12 && hr < 5) return "afternoon"; else if(hr >=5 && hr < 8){ if(num >=0 && num <= 30) return "evening"; else return "night"; } }4. Aquí está el mensaje de error de mi código:
La causa principal del error es esa condición if(hr === AM) , he modificado un poco el código.
function getTimeOfDay(hr,num,period){ if(period == "AM" ){ if(hr >= 4 && hr < 12){ if(num >=0 && num <= 59){ return "morning"; } } else{ return "night"; } } else{ if(hr >= 12 && hr < 5) return "afternoon"; else if(hr >=5 && hr < 8){ if(num >=0 && num <= 30) return "evening"; else return "night"; } } }Nota: las condiciones tal vez podrían escribirse de una mejor manera, no verifiqué su corrección, pero se aprobaron los casos de prueba proporcionados, solo quería resaltar la causa del error para usted.