Playground - Obten información de mascotas según su tipo
Clase 13 de 99 • 30 días de JavaScript
Contenido del curso
Clase 13 de 99 • 30 días de JavaScript
Contenido del curso
Sebastián Saavedra
Fernando García Guerrero
Orlando Sánchez
Reynerio Hidalgo
Ignacio Mora
Nicolas Pantoja Diaz
Santiago Quintero
Jovanny Alarcon C
Ivek Martínez Herrera
Santiago Palacio Vásquez
Abril Darynka Tapia Sosa
Ronald Oswaldo Perez Torres
Nicolas Pantoja Diaz
Alejandro Ivan Mendieta
Ronald Oswaldo Perez Torres
Rosalee Castro
Fernando Meneses
Juan Castillo
Zajith Corro Viveros
Diana Loboa
Wilson Ivan Gutierrez Peña
Ronald Oswaldo Perez Torres
Marco Flores
Evelin Lorena Flores García
Yoshirys de Jesús Salas Corona
Bryan Ochoa
Diego ferney Cárdenas Hoyos
Cristian Romero
jorge vilchis
Juan Felipe Zapata Moreno
Kevin Tisoy
Camila Gutierrez
Leonardo de los angeles Espinoza Hernandez
Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta ///////////////////////////////////// Spoiler de la respuesta /////////////////////////////////////
export function getPetExerciseInfo(type, age) { const animales = { perro: age < 1 ? "Los cachorros necesitan pequeñas y frecuentes sesiones de juego" : age <= 7 && age >= 1 ? "Los perros a esta edad necesitan caminatas diarias y sesiones de juego" : age > 7 ? "Los perros viejos necesitan caminatas más cortas" : false,
gato: age < 1 ? "Los gatitos necesitan frecuentes sesiones de juego" : age <= 7 && age >= 1 ? "Los gatos a esta edad necesitan jugar diariamente" : age > 7 ? "Los gatos viejos necesitan sesiones de juego más cortas" : false, ave: age <= 1 ? "Las aves jóvenes necesitan mucho espacio para volar" : age <= 7 && age >= 1 ? "Las aves necesitan jugar diariamente y un lugar para volar" : age > 7 ? "Las aves necesitan jugar diariamente y un lugar para volar" : false
}; type = type.toLowerCase(); return animales[type] ? animales[type] : "Tipo de mascota inválida";
}
Aca para no Spoilear la respuesta + + + + + + + + + + + + + + + + +
Hey hey!
Como que aquí el primer comentario es un spoiler.
No no, vamos a bajarlo, así que por favor apoyo.
Rellenemos un poco con la guía del ejercicio:
"En este desafío recibirás una serie de tipos de mascotas junto con su edad.
Dependiendo de estos 2 factores tendrás que construir la función llamada getPetExerciseInfo la cual retornará una cadena de texto con la información necesaria acerca de cuanto ejercicio necesita hacer cada tipo de mascota."
y ahora la imagen random correspondiente.
export function getPetExerciseInfo(type, age) { // Tu Código aquí 👈 switch (type) { case "perro": if (age < 1) return "Los cachorros necesitan pequeñas y frecuentes sesiones de juego" else if (age >= 1 && age <= 7) return "Los perros a esta edad necesitan caminatas diarias y sesiones de juego" else return "Los perros viejos necesitan caminatas más cortas" break; case "gato": if (age < 1) return "Los gatitos necesitan frecuentes sesiones de juego" else if (age >= 1 && age <= 7) return "Los gatos a esta edad necesitan jugar diariamente" else return "Los gatos viejos necesitan sesiones de juego más cortas" break; case "ave": if (age < 1) return "Las aves jóvenes necesitan mucho espacio para volar" else if (age >= 1 && age <= 7) return "Las aves necesitan jugar diariamente y un lugar para volar" else return "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar" break; default: return "Tipo de mascota inválida" } }
llege a exactamente el mismo resultado :D
Tenemos la misma solución :D
Lo hice de dos maneras:
La primera fue así:
function getPetExerciseInfo(type, age) { const animales = { perro: [ "Los cachorros necesitan pequeñas y frecuentes sesiones de juego", "Los perros a esta edad necesitan caminatas diarias y sesiones de juego", "Los perros viejos necesitan caminatas más cortas", ], gato: [ "Los gatitos necesitan frecuentes sesiones de juego", "Los gatos a esta edad necesitan jugar diariamente", "Los gatos viejos necesitan sesiones de juego más cortas", ], ave: [ "Las aves jóvenes necesitan mucho espacio para volar", "Las aves necesitan jugar diariamente y un lugar para volar", "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar", ], }; if (!animales[type]) { return "Tipo de mascota inválida"; } else { if (age <= 1) { return animales[type][0]; } else if (age <= 7) { return animales[type][1]; } else { return animales[type][2]; } } } console.log(getPetExerciseInfo("loro", 9));
La segunda es una variación de la primera:
function getPetExerciseInfo(type, age) { const animales = { perro: age <= 1 ? "Los cachorros necesitan pequeñas y frecuentes sesiones de juego" : age <= 7 ? "Los perros a esta edad necesitan caminatas diarias y sesiones de juego" : age > 7 ? "Los perros viejos necesitan caminatas más cortas" : false, gato: age <= 1 ? "Los gatitos necesitan frecuentes sesiones de juego" : age <= 7 ? "Los gatos a esta edad necesitan jugar diariamente" : age > 7 ? "Los gatos viejos necesitan sesiones de juego más cortas" : false, ave: age <= 1 ? "Las aves jóvenes necesitan mucho espacio para volar" : age <= 7 ? "Las aves necesitan jugar diariamente y un lugar para volar" : age > 7 ? "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar" : false, }; if (!animales[type]) { return "Tipo de mascota inválida"; } else { return animales[type]; } }
A mi parecer por temas de Don't repeat yourself la primera es una opción mucho más elegante; sin embargo, me pareció curioso intentar hacerlo todo dentro del objeto.
Excelente, te adelantaste a temas futuros jejeje
esta muy bien, pero no usaste el switch, pero buena forma de solucionar el problema
Sabías que...
En JavaScript es posible utilizar operadores ternarios anidados o embebidos, que son operadores ternarios dentro de otros operadores ternarios. Este tipo de sintaxis puede resultar útil para realizar comparaciones complejas en una sola línea de código.
La sintaxis general del operador ternario es la siguiente:
condición ? valor si verdadero : valor si falso
Para hacer un operador ternario anidado, simplemente colocamos otro operador ternario dentro de uno existente. Por ejemplo:
condición1 ? valor1 si verdadero : condición2 ? valor2 si verdadero : condición3 ? valor3 si verdadero : valor si falso;
Este operador ternario anidado verifica la primera condición. Si es verdadera, devuelve valor1. Si es falsa, pasa a la siguiente condición y así sucesivamente. Si todas las condiciones son falsas, devuelve valor si falso.
Es importante tener en cuenta que los operadores ternarios anidados pueden ser difíciles de leer si se utilizan de manera excesiva o sin una buena estructura de código. Por lo tanto, es importante encontrar un equilibrio entre la legibilidad y la concisión del código.
Solución:
function getPetExerciseInfo(type, age) { const animals = { perro: [ "Los cachorros necesitan pequeñas y frecuentes sesiones de juego", "Los perros a esta edad necesitan caminatas diarias y sesiones de juego", "Los perros viejos necesitan caminatas más cortas", ], gato: [ "Los gatitos necesitan frecuentes sesiones de juego", "Los gatos a esta edad necesitan jugar diariamente", "Los gatos viejos necesitan sesiones de juego más cortas", ], ave: [ "Las aves jóvenes necesitan mucho espacio para volar", "Las aves necesitan jugar diariamente y un lugar para volar", "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar", ] } const messages = animals[type] if (!messages) return "Tipo de mascota inválida" let index = age < 1 ? 0 : age < 7 ? 1 : 2 return messages[index] }
Hola, dejo mi solucion Caminito anti spoilers 🚗 . . . . . . . . . . . . . . . . . . . . Llegamos 📍
switch (type) { case "perro": if (age < 0) { return "Los cachorros necesitan pequeñas y frecuentes sesiones de juego"; } else if (age >= 1 && age <= 7) { return "Los perros a esta edad necesitan caminatas diarias y sesiones de juego"; } else { return "Los perros viejos necesitan caminatas más cortas"; } break; case "gato": if (age < 0) { return "Los gatitos necesitan frecuentes sesiones de juego"; } else if (age >= 1 && age <= 7) { return "Los gatos a esta edad necesitan jugar diariamente"; } else { return "Los gatos viejos necesitan sesiones de juego más cortas"; } break; case "ave": if (age < 0) { return "Las aves jóvenes necesitan mucho espacio para volar"; } else if (age >= 1 && age <= 7) { return "Las aves necesitan jugar diariamente y un lugar para volar"; } else { return "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar"; } break; default: return "Tipo de mascota inválida" }
Me gustó tu lógica. Me gustaría saber cuál es la solución más óptima
Yo lo tenía igual, pero en la vista cuando ponía edad 0 me corría la linea de cuando ya son viejos. Así que le cambié la verificación en la primera línea por age < 1. De resto, todo igual :D
Mi código todo humilde pero trate de no repetir líneas :b
const validateAge = (age) => { let ageParam; if (age < 1) { ageParam = 0; } else if (age >= 1 && age <= 7) { ageParam = 1; } else if (age > 7) { ageParam = 2 } return ageParam; } const petsMessages = { dog: [ 'Los cachorros necesitan pequeñas y frecuentes sesiones de juego', 'Los perros a esta edad necesitan caminatas diarias y sesiones de juego', 'Los perros viejos necesitan caminatas más cortas' ], cat: [ 'Los gatitos necesitan frecuentes sesiones de juego', 'Los gatos a esta edad necesitan jugar diariamente', 'Los gatos viejos necesitan sesiones de juego más cortas' ], bird: [ 'Las aves jóvenes necesitan mucho espacio para volar', 'Las aves necesitan jugar diariamente y un lugar para volar', 'Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar' ] } export function getPetExerciseInfo(type, age) { let typeLower = type.toLowerCase(); let userMessage; const validate = validateAge(age) // Tu Código aquí 👈 switch (typeLower) { case 'perro': userMessage = petsMessages.dog[validate]; break; case 'gato': userMessage = petsMessages.cat[validate]; break; case 'ave': userMessage = petsMessages.bird[validate]; break; default: userMessage = "Tipo de mascota inválida"; break; } return userMessage; }
No le entendí a la perfección, pero me gustó por el hecho de reutilizar los strings
Por aquí dejo mi solución * * ** * * * * ** * * * **
export function getPetExerciseInfo(type, age) { if (type === "perro" && age < 1) { return "Los cachorros necesitan pequeñas y frecuentes sesiones de juego"; } else if (type === "perro" && 1 < age < 7) { return "Los perros a esta edad necesitan caminatas diarias y sesiones de juego"; } else if (type === "perro" && age > 7) { return "Los perros viejos necesitan caminatas más cortas"; } else if (type === "gato" && age < 1) { return "Los gatitos necesitan frecuentes sesiones de juego"; } else if (type === "gato" && 1 < age < 7) { return "Los gatos a esta edad necesitan jugar diariamente"; } else if (type === "gato" && age > 7) { return "Los gatos viejos necesitan sesiones de juego más cortas"; } else if (type === "ave" && age < 1) { return "Las aves jóvenes necesitan mucho espacio para volar"; } else if (type === "ave" && 1 < age < 7) { return "Las aves necesitan jugar diariamente y un lugar para volar"; } else if(type === "ave" && age >7){ return "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar"; } else { return "Tipo de mascota inválida"; } }
misma lógica, es lo que hice en mi poco conocimiento y estoy feliz
mi solucion, aunque inicialmente lo intente con un switch dentro del otro en lugar de if pero no me daba resultado y fue caotica la sintaxis
export function getPetExerciseInfo(type, age) { switch (type) { case "perro": if (age <= 1) { return "Los cachorros necesitan pequeñas y frecuentes sesiones de juego"; } else if (1 < age <= 7) { return "Los perros a esta edad necesitan caminatas diarias y sesiones de juego"; } else { return "Los perros viejos necesitan caminatas más cortas"; } break; case "gato": if (age <= 1) { return "Los gatitos necesitan frecuentes sesiones de juego"; } else if (1 < age <= 7) { return "Los gatos a esta edad necesitan jugar diariamente"; } else { return "Los gatos viejos necesitan sesiones de juego más cortas"; } break; case "ave": if (age <= 1) { return "Las aves jóvenes necesitan mucho espacio para volar"; } else if (1 < age <= 7) { return "Las aves necesitan jugar diariamente y un lugar para volar"; } else { return "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar"; } break; default: return "Tipo de mascota inválida"; } }
Mi solución :D:
const pets = { perro: [ 'Los cachorros necesitan pequeñas y frecuentes sesiones de juego', 'Los perros a esta edad necesitan caminatas diarias y sesiones de juego', 'Los perros viejos necesitan caminatas más cortas', ], gato: [ 'Los gatitos necesitan frecuentes sesiones de juego', 'Los gatos a esta edad necesitan jugar diariamente', 'Los gatos viejos necesitan sesiones de juego más cortas', ], ave: [ 'Las aves jóvenes necesitan mucho espacio para volar', 'Las aves necesitan jugar diariamente y un lugar para volar', 'Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar', ], }; export function getPetExerciseInfo(type, age) { if (!Object.keys(pets).includes(type)) return 'Tipo de mascota inválida'; if (age < 1) return pets[type][0]; if (age >= 1 && age <= 7) return pets[type][1]; if (age > 7) return pets[type][2]; }
Esta genial tu codigo bastente escalable :D Una alternativa a linea :
Object.keys(pets).includes(type)
// Puede ser : pets.hasOwnProperty(type)
Mi solución con puro switch
switch(type){ case "perro": switch (true) { case age < 1: return ("Los cachorros necesitan pequeñas y frecuentes sesiones de juego"); break; case age >= 1 && age <= 7: return ("Los perros a esta edad necesitan caminatas diarias y sesiones de juego"); break; case age > 7: return ("Los perros viejos necesitan caminatas más cortas"); break; } case "gato": switch (true) { case age < 1: return ("Los gatitos necesitan frecuentes sesiones de juego"); break; case age >= 1 && age <= 7: return ("Los gatos a esta edad necesitan jugar diariamente"); break; case age > 7: return ("Los gatos viejos necesitan sesiones de juego más cortas"); break; } case "ave": switch (true) { case age < 1: return ("Las aves jóvenes necesitan mucho espacio para volar"); break; case age >= 1 && age <= 7: return ("Las aves necesitan jugar diariamente y un lugar para volar"); break; case age > 7: return ("Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar"); break; } default: return("Tipo de mascota inválida") break; }
También lo hice así, pero me di cuenta que no es necesario usar break después de return
No estoy muy de acuerdo de utilizar diferentes return en el programa, de nota desorden, creo que se debería tener uno solo, para ello sugiero que los resultados los almacenes en una variable y al final apliques un solo return con el valor de la variable que se visualizara.
Spoiler code --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
export function getPetExerciseInfo(pet, age) { switch (pet) { case 'perro': return getDog(age); break; case 'gato': return getCat(age); break; case 'ave': return getBird(age); break default: return "Tipo de mascota inválida"; }
}function getDog(age) { if (age < 1) { return "Los cachorros necesitan pequeñas y frecuentes sesiones de juego"; } else if (age >= 1 && age <= 7) { return "Los perros a esta edad necesitan caminatas diarias y sesiones de juego" } else if (age > 7) { return "Los perros viejos necesitan caminatas más cortas" }}function getCat(age) { if (age < 1) { return "Los gatitos necesitan frecuentes sesiones de juego"; } else if (age >= 1 && age <= 7) { return "Los gatos a esta edad necesitan jugar diariamente" } else if (age > 7) { return "Los gatos viejos necesitan sesiones de juego más cortas" }}function getBird(age) { if (age < 1) { return "Las aves jóvenes necesitan mucho espacio para volar"; } else if (age >= 1 && age <= 7) { return "Las aves necesitan jugar diariamente y un lugar para volar" } else if (age > 7) { return "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar" }}
// getPetExerciseInfo("perro", 7);
Considero que muchas ejercicios de los compañeros son exclenetes, y con una lógica bastante buena, sin embargo utilizan cosas que no hemos visto en el curso y eso puede dificultar el entendimiento del mismo si es que alguien desea usarlo, por lo que comparto este código donde literalmente solo utilizo switch y nada fuera de el
export function getPetExerciseInfo(type, age) { switch (type) { case 'perro': switch (true) { case age <= 1: return 'Los cachorros necesitan pequeñas y frecuentes sesiones de juego'; case age > 1 && age <= 7: return 'Los perros a esta edad necesitan caminatas diarias y sesiones de juego'; case age > 7: return 'Los perros viejos necesitan caminatas más cortas'; } break; case 'gato': switch (true) { case age <= 1: return 'Los gatitos necesitan frecuentes sesiones de juego'; case age > 1 && age <= 7: return 'Los gatos a esta edad necesitan jugar diariamente'; case age > 7: return 'Los gatos viejos necesitan sesiones de juego más cortas'; } break; case 'ave': switch (true) { case age <= 1: return 'Las aves jóvenes necesitan mucho espacio para volar'; case age > 1 && age <= 7: return 'Las aves necesitan jugar diariamente y un lugar para volar'; case age > 7: return 'Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar'; } break; default: return 'Tipo de mascota inválida'; } } getPetExerciseInfo("perro", 3); getPetExerciseInfo("gato", 8); getPetExerciseInfo("Mamut", 25);
Esta es mi solución. Le agregué una condicional para evitar que acepte números negativos en la edad.
export function getPetExerciseInfo(type, age) { // Tu Código aquí 👈 if (age < 0) return "Edad de mascota inválida"; const respuesta = { "perro": { "menor1": "Los cachorros necesitan pequeñas y frecuentes sesiones de juego", "entre1y7": "Los perros a esta edad necesitan caminatas diarias y sesiones de juego", "mayor7": "Los perros viejos necesitan caminatas más cortas", }, "gato": { "menor1": "Los gatitos necesitan frecuentes sesiones de juego", "entre1y7": "Los gatos a esta edad necesitan jugar diariamente", "mayor7": "Los gatos viejos necesitan sesiones de juego más cortas", }, "ave": { "menor1": "Las aves jóvenes necesitan mucho espacio para volar", "entre1y7": "Las aves necesitan jugar diariamente y un lugar para volar", "mayor7": "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar", }, } if (!respuesta[type]) return "Tipo de mascota inválida"; switch (age) { case age < 1: return respuesta[type].menor1; case age > 7: return respuesta[type].mayor7; default: return respuesta[type].entre1y7; } }
De tanto intentarlo por fin pude, claro, con algo de lectura y vista de otros ejercicios pude hacerlo, esta forma me gustó mucho porque es más ordenada y supone una mejor compresión de la función, además de que acorta un poco el codigo ( aunque tengo que decir que el codigo no funciona en este background, no se porqué pero en la consola del navegador funciona bien, ojalá alguien pudiera decirme)
export function getPetExerciseInfo(type, edad) { let mensajesPG = [ "Las mascotas a esta edad necesitan cuidado extremo y tiempos de juego pequeños", "Las mascotas a esta edad son muy juguetonas y es ideal tener el espacio para su recreación", "Las mascotas a esta edad no necesitan tanto tiempo para jugar ni para salir" ]; let mensajesAves = [ "Las aves jóvenes necesitan mucho espacio para volar", "Las aves necesitan jugar diariamente y un lugar para volar", "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar" ]; let mascotaDesconocida = "La mascota que ingresaste en el sistema todavía no la tenemos" switch(type){ case "perro": if(edad >0 && edad <=1){return mensajesPG[0]} else if(edad > 1 && edad <=7){return mensajesPG[1]} else if(edad > 7 && edad <=15){return mensajesPG[2]} else{return "Te equivocaste de edad o te falta ingresar la edad?"} break; case "gato": if(edad >0 && edad <=1){return mensajesPG[0]} else if(edad > 1 && edad <=7){return mensajesPG[1]} else if(edad > 7 && edad <=15){return mensajesPG[2]} else{return "Te equivocaste de edad o te falta ingresar la edad?"} break; case "ave": if(edad >0 && edad <=1){return mensajesAves[0]} else if(edad > 1 && edad <=7){return mensajesAves[1]} else if(edad>10 && edad < 12){return mensajesAves[2]} else{return "Te equivocaste de edad o te falta ingresar la edad?"} break; default: return mascotaDesconocida; } } console.log(getPetExerciseInfo("perro",))
Esta fue mi solución:
export function getPetExerciseInfo(type, age) { switch (type) { case "perro": if (age < 1) { return "Los cachorros necesitan pequeñas y frecuentes sesiones de juego"; } else if (age >= 1 && age <= 7) { return "Los perros a esta edad necesitan caminatas diarias y sesiones de juego"; } else { return "Los perros viejos necesitan caminatas más cortas"; } case "gato": if (age < 1) { return "Los gatitos necesitan frecuentes sesiones de juego"; } else if (age >= 1 && age <= 7) { return "Los gatos a esta edad necesitan jugar diariamente"; } else { return "Los gatos viejos necesitan sesiones de juego más cortas"; } case "ave": if (age < 1) { return "Las aves jóvenes necesitan mucho espacio para volar"; } else if (age >= 1 && age <= 7) { return "Las aves necesitan jugar diariamente y un lugar para volar"; } else { return "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar"; } default: return "Tipo de mascota inválida"; } }
aqui mi aporte
let type
let age
export function getPetExerciseInfo(type, age) {
switch (type) {
case "perro":
if (age < 1) {
return "Los cachorros necesitan pequeñas y frecuentes sesiones de juego"
}
if (age > 1 && age < 7) {
return "Los perros a esta edad necesitan caminatas diarias y sesiones de juego"
}
if (age > 7) {
return "Los perros viejos necesitan caminatas más cortas"
}
break;
case "gato":
if (age < 1) {
return "Los gatitos necesitan frecuentes sesiones de juego"
}
if (age > 1 && age < 7) {
return "Los gatos a esta edad necesitan jugar diariamente"
}
if (age > 7) {
return "Los gatos viejos necesitan sesiones de juego más cortas"
}
break;
case "ave":
if (age < 1) {
return "Las aves jóvenes necesitan mucho espacio para volar"
}
if (age > 1 && age < 7) {
return "Las aves necesitan jugar diariamente y un lugar para volar"
}
if (age > 7) {
return "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar"
}
break;
default:
return "Tipo de mascota inválida"
break;
}
}
¿Por qué no funciona mi codigo? ayuda xdd
export function getPetExerciseInfo(type, age) { switch (type) { case "Perro": return age < 1 ? "Los cachorros necesitan pequeñas y frecuentes sesiones de juego" : age <= 7 ? "Los perros a esta edad necesitan caminatas diarias y sesiones de juego" : "Los perros viejos necesitan caminatas más cortas" case "Gato": return age < 1 ? "Los gatitos necesitan frecuentes sesiones de juego" : age <= 7 ? "Los gatos a esta edad necesitan jugar diariamente" : "Los gatos viejos necesitan sesiones de juego más cortas" case "Ave": return age < 1 ? "Las aves jóvenes necesitan mucho espacio para volar" : age <= 7 ? "Las aves necesitan jugar diariamente y un lugar para volar" : "Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar" } } console.log(getPetExerciseInfo("Perro", 10)); console.log(getPetExerciseInfo("Gato", 5)); console.log(getPetExerciseInfo("Ave", 2));
function getPetExerciseInfo(type, age) { switch (type) { case "Perros": if (age < 1) { console.log("Los cachorros necesitan pequeñas y frecuentes sesiones de juego"); return true; } else if (age <= 7) { console.log("Los perros a esta edad necesitan caminatas diarias y sesinoes de juego"); return true; } else if (age > 7) { console.log("Los perros a esta edad necesitan caminatas mas cortas"); return true; } else { return false; } break; case "Gatos": if (age < 1) { console.log("Los gatos necesitan frecuentes sesiones de juego"); return true; } else if (age <= 7) { console.log("Los gatos a esta edad necesitan jugar diariamente"); return true; } else if (age > 7) { console.log("Los gatos viejos necesitan sesiones de juego mas cortas"); return true; } else { return false; } break; case "Aves": if (age < 1) { console.log("Las aves jovenes necesitan mucho espacio para volar"); return true; } else if (age <= 7) { console.log("Las aves necesitan jugar diariamente y un lugar para volar"); return true; } else if (age > 7) { console.log("Las aves mayores necesitan descansar mas, pero siguen ocupando un lugar para volar"); return true; } else { return false; } default: console.log("Tipoe de mascota no invalido"); } }
mi logica aplicada al ejercicio... algo salio mal
Hola a todos. He intentado correr mi código, pero la consola se congela, ya he intentado varias cosas y no han funcionado He leído las respuestas de otros compañeros, sin embargo, hice mi propio código y me gustaría recibir retroalimentación frente a el. Aquí va . . .
function getPetExerciseInfo(type, age) { switch (type, age) case type === perro && age < 1 console.log("Los cachorros necesitan pequeñas y frecuentes sesiones de juego") break; case type === perro && age > 1 || age <=7 console.log("Los perros a esta edad necesitan caminatas diarias y sesiones de juego") break; case type === perro && age >7 console.log("Los perros viejos necesitan caminatas más cortas") break; case type === gato && age < 1 console.log("Los gatitos necesitan frecuentes sesiones de juego") break; case type === gato && age > 1 || age <= 7 console.log("Los gatos a esta edad necesitan jugar diariamente") break; case type === gato && age > 7 console.log("Los gatos viejos necesitan sesiones de juego más cortas") break; case type === ave && age < 1 console.log("Las aves jóvenes necesitan mucho espacio para volar") break; case type === ave && age > 1 || age <= 7 console.log("Las aves necesitan jugar diariamente y un lugar para volar") break; case type === ave && age > 7 console.log("Las aves mayores necesitan descansar más, pero siguen ocupando un lugar para volar") break; default: console.log("Tipo de mascota invalida") }
¡Hola Camila!
La razón por la que el code runner no lee tu respuesta, es porque estás usando console.log y esto solo lo despliega en consola. Lo que debes hacer es retornar los strings con un return para que de esa manera puedan pasar las prueba
Un saludo! Espero mi comentario sea de ayuda