Split Up Evenly pt-br Explainer

Explicação de Divida igualmente

Objetivo deste desafio: Completar a definição da função average() para que ela retorne o valor médio da array

Passo a passo da solução: A média (também chamada “média aritmética”) de um conjunto de números é calculada pela soma de todos os números e a divisão do total pelo número de valores usados.

A definição da função começa com a criação de uma variável chamada total. Como nada ainda foi somado, ela começa em 0. A seguir, há um laço for...of que passa por cada element da array. Dentro desse laço, o element deve ser adicionado ao total usando o operador +=. Quando o laço tiver terminado, o total será a soma de todos os números da array. Para return (retornar) a média, o total deve ser dividido pelo número de valores. O número de valores é o .length da array, portanto o valor return deve ser total / array.length.

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

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

function average(array) {
  let total = 0;
  for (let element of array) {
    total += element;
  }
  return total/array.length;
}

let grasslandRatings = getRatings(getData('Grassland', findHotels));
console.log(grasslandRatings);
console.log('The average is:');
console.log(average(grasslandRatings));

Conceitos de JavaScript: Operador Aritmético (/), Operador de Atribuição (+=), Funções de Retorno de Chamada, Funções de Chamada, Bloco de Código (laço for, função), console.log(), import, .length
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);
};

const getRatings = hotelList => {
   hotelList.map(hotel => hotel.rating)
};
2 Likes

i got it. to change the line and turn it to “let total = 0” , all the line must be selected and rewritten. the “return” line must go the same. select the entire line and rewrite all the codes.


Fiz isso e funcionou

As perguntas devem ser feitas em inglês, mas a tradução para português não tem o menor sentido. Consegui passa o 1 fundamento tranquilo, até agora estava fácil de entender. Deveriam fazer questões mais compreensíveis