A New Way pt-br Explainer

Explicação de Um novo caminho

Objetivo deste desafio: Usar .pop() para tirar o último elemento de uma array e depois edite-o e use .push() para colocá-lo de volta.

Passo a passo da solução: A 1ª linha vai import uma array chamada travelToCities a partir do módulo grasshopper.travel. Os itens desta array são objetos e cada um tem 4 propriedades: destination, transportMode, cost e country.

O último objeto da array é “lançado” e armazenado em uma variável chamada atlantaTravel. Este é o objeto que você adicionou na lição anterior. Em seguida, a propriedade transportMode é alterada para 'hovercraft'.

Agora que o objeto foi editado, é possível adicioná-lo de volta ao final da array usando .push(). Você precisará usar travelToCities.push(atlantaTravel) para fazer isso.

O código a seguir armazena o último elemento da array em uma variável chamada last. Isto será o mesmo que o objeto atlantaTravel, pois você acabou de inclui-lo na array.

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

import { travelToCities } from 'grasshopper.travel';

let atlantaTravel = travelToCities.pop();
atlantaTravel.transportMode = 'hovercraft';

travelToCities.push(atlantaTravel);

let last = travelToCities[travelToCities.length - 1];

console.log(last.destination);
console.log(last.transportMode);

Conceitos de JavaScript: console.log(), Estruturas de dados (arrays, objetos), import, Indexação, .length(), .pop(), Escopo variável (let)

Código Adicional (código oculto executado antes do código do desafio):

const travelToCities = [
    {destination: "Brazzaville", transportMode: "car", cost: 74, country: "Grasslandia"},
    {destination: "Budapest", transportMode: "boat", cost: 165, country: "Atlantis"},
    {destination: "Springfield", transportMode: "plane", cost: 171, country: "Hoptopia"},
    {destination: 'Atlanta', transportMode: 'boat', cost: 200, country: 'Hoptopia'}
];

1 Like