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'}
];