Add It to the List pt-br Explainer

Explicação de Adicionar à lista

Objetivo deste desafio: Adicionar cada classificação de hotel à array ratings

Passo a passo da solução: A função getRatings() deve levar uma array de objetos de análise de hotel armazenados em hotelList e depois return uma array apenas das classificações desses hotéis. A array ratings começa vazia e será devolvida no final da função, mas entre essas etapas, todas as classificações precisam ser adicionadas.

Adicione um laço for...of no meio da definição da função. Esse laço deve passar por cada element of hotelList. Dentro do laço, a classificação deve ser adicionada à array usando .push(). Para adicionar algo à array ratings, você usa ratings.push(...). O que você quer .push() (empurrar) é element.rating.

Solução do código de exemplo:
(Toque abaixo para revelar)

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

function getRatings(hotelList) {
  let ratings = [];
  for (var element of hotelList) {
    ratings.push(element.rating);
  }
  return ratings;
}

let grasslandHotels = getData('Grassland', findHotels);
console.log('Ratings Array:');
console.log(getRatings(grasslandHotels));

Conceitos de JavaScript: Funções retorno de chamada, Funções de chamada, Bloco de código (laço for, função), console.log(), import, .push()
Código Adicional (código oculto executado antes do código do desafio):

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);
};
2 Likes

Olá. Gente.
Consegui fazer o meu
Fundamentos II
Adicionar à lista
Olha aí… Como ficou com
a função: getRatings ()

5 Likes

para quem quiser acompanhar os desafios em videos segue o material:

1 Like

Vou ver se consigo agora haha

A solução!!!