Basado en el curso práctico de JS y la pregunta Bonus: si ya eres una experta o experto en el lenguaje, te desafío a comentar cómo replicar este comportamiento con arrays o objetos y un solo condicional.
// Otras maneras de llegar al mismo resultado con un solo if
const tiposDeSuscripciones = {
free: "Solo puedes tomar los cursos gratis",
basic: "Puedes tomar casi todos los cursos de Platzi durante un mes",
expert: "Puedes tomar casi todos los cursos de Platzi durante un año",
expertduo:
"Tú y alguien más pueden tomar TODOS los cursos de Platzi durante un año",
};
//usando for in
function conseguirTipoSuscripcion(suscripcion) {
for (let key in tiposDeSuscripciones) {
//el bucle for in se itera sobre las propiedades del objeto tiposDeSuscripciones y las representa en una variable que se denominó key
if (key === suscripcion) {
//se compara la propiedad del objeto tiposDeSuscripciones (key) con el argunmento de la función (suscripcion)
console.log(
`Tienes una suscripcion ${key} y ${tiposDeSuscripciones[key]}`
); //si key es igual a suscripcion se imprime en consola la propiedad correspodiente al objeto (key) y el valor de la propiedad accediendo directamente a ella con el método de corchetes para poder utilizar la variable key
break; // para terminar con el bucle
};
};
};
// Un ejemplo de la respuesta sería:
// conseguirTipoSuscripcion('free')
// RESPUESTA: Tienes una suscripcion free y Solo puedes tomar los cursos gratis
//Otras maneras de recorrerlo es transformando el objeto a tipo Array, por ejemplo:
function conseguirTipoSuscripcion(suscripcion) {
Object.keys(tiposDeSuscripciones).map((key) => {
// con la propiedad Object.keys devolvemos un array que contiene solo las propiedades del objeto tiposDeSuscripciones (array = ['free','basic','expert','expertduo'])y utilizamos la función map sobre este nuevo array para retornar cada propiedad dentro de una variable llamada key
if (key === suscripcion) {
//se compara cada elemento (key) del nuevo array con el argumento de la función (suscripcion)
console.log(
`Tienes una suscripcion ${key} y ${tiposDeSuscripciones[key]}`
); //si key es igual a suscripcion se imprime en consola el elemento (key) correspondiente al array creado y el valor de la propiedad accediendo directamente a ella con el método de corchetes y la variable key
return; // Se retorna para terminar con la función map
}
});
};
// Un ejemplo de la respuesta sería:
//conseguirTipoSuscripcion("basic");
//RESPUESTA: Tienes una suscripcion basic y Puedes tomar casi todos los cursos de Platzi durante un mes
Curso Práctico de JavaScript
0 Comentarios
para escribir tu comentario