Curso Práctico de JavaScript

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

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

Toma las primeras clases gratis

COMPARTE ESTE ARTÍCULO Y MUESTRA LO QUE APRENDISTE

0 Comentarios

para escribir tu comentario

Artículos relacionados