Get What You Ask For es-419 Explainer

Explicador de Obtén lo que pediste

Objetivo de este acertijo: Obtener las reseñas de hoteles de Grassland y registrar todas en la consola

Tutorial de la solución: Las funciones getData() y findHotels se importan. getData() se usa para acceder a una base de datos de reseñas, y la función findHotels se usa como una devolución de llamada en getData() para recuperar solo reseñas de hoteles. Cada reseña de hotel se almacena como un object con 4 propiedades: type, city, price y rating. La función printHotel() tomará una reseña de hotel y registrará todas sus propiedades en la consola.

El primer argumento de la función getDat() es el nombre de una ciudad. El acertijo pide cambiarlo de 'Hopalot' a 'Grassland'. El resultado de getData() se almacena en grasslandHotels. Estas reseñas de hoteles de Grassland se pueden imprimir usando la función printHotel. Aplica el método .forEach()a grasslandHotels, y usa la devolución de llamada printHotel como el argumento.

Solución del código de ejemplo:
(Pulsa a continuación para revelar)

import { getData, findHotels } from 'grasshopper.reviews';

function printHotel(hotel) {
  console.log('___HOTEL_INFO___');
  console.log('type: ' + hotel.type);
  console.log('city: ' + hotel.city);
  console.log('price: ' + hotel.price);
  console.log('rating: ' + hotel.rating);
}

let grasslandHotels = getData('Grassland', findHotels);
grasslandHotels.forEach(printHotel);

Conceptos de JavaScript: funciones de devolución de llamada, funciones de llamada, bloque de código (función), console.log(), .forEach(), import
Código adicional (código oculto que se ejecuta antes del código del acertijo):

let _hotelReviews = [
    {
        type: 'Hopaday Inn',
        city: 'Hopalot',
        price: 138,
        rating: 4.0
    },
    {
        type: 'Hopaday Inn',
        city: 'Hopalot',
        price: 78,
        rating: 3.8
    },
    {
        type: 'Hopaday Inn',
        city: 'Hoptropolis',
        price: 86,
        rating: 2.4
    },
    {
        type: 'Hopaday Inn',
        city: 'Hoptropolis',
        price: 126,
        rating: 4.4
    },
    {
        type: 'Hopaday Inn',
        city: 'Grassland',
        price: 138,
        rating: 3.0
    },
    {
        type: 'Hopaday Inn',
        city: 'Grassland',
        price: 245,
        rating: 4.6
    },
    {
        type: 'The Grassy Suites',
        city: 'Hopalot',
        price: 189,
        rating: 4.4
    },
    {
        type: 'The Grassy Suites',
        city: 'Hopalot',
        price: 111,
        rating: 2.4
    },
    {
        type: 'The Grassy Suites',
        city: 'Hoptropolis',
        price: 171,
        rating: 2.8
    },
    {
        type: 'The Grassy Suites',
        city: 'Hoptropolis',
        price: 191,
        rating: 2.8
    },
    {
        type: 'The Grassy Suites',
        city: 'Grassland',
        price: 265,
        rating: 4.1
    },
    {
        type: 'The Grassy Suites',
        city: 'Grassland',
        price: 186,
        rating: 3.5
    },
    {
        type: 'Hopton Inn',
        city: 'Hopalot',
        price: 160,
        rating: 2.4
    },
    {
        type: 'Hopton Inn',
        city: 'Hoptropolis',
        price: 226,
        rating: 4.5
    },
    {
        type: 'Hopton Inn',
        city: 'Hoptropolis',
        price: 192,
        rating: 3.5
    },
    {
        type: 'Hopton Inn',
        city: 'Grassland',
        price: 149,
        rating: 4.9
    }
];


const getData = (city, afunction) => {
   afunction(city.trim().charAt(0).toUpperCase() + city.trim().toLowerCase().slice(1));
};

const findHotels = city => {
   _hotelReviews.filter( review => review.city === city);
};
1 Like

Alguien a podido pasarlo, que me pueda ayudar porfa? Ya intenté con la respuesta del foro y siempre me da error, no me deja cambiar de acertijo
Gracias

4 Likes

2 Likes

se me hace dificil no me sale de vdd ya intente 20 veses :confused:
:confused:

import { getData, findHotels } from ‘grasshopper.reviews’;

function printHotel(hotel) {
console.log(‘HOTEL_INFO’);
console.log('type: ’ + hotel.type);
console.log('city: ’ + hotel.city);
console.log('price: ’ + hotel.price);
console.log('rating: ’ + hotel.rating);
}

let grasslandHotels = getData(‘Grassland’, findHotels);
grasslandHotels.forEach(printHotel);