AnyCompiler

Arrays

Um array é uma coleção ordenada e alterável — o equivalente em JavaScript à lista do Python, e provavelmente a estrutura de dados mais usada da linguagem.

let fruits = ["apple", "banana", "cherry"];
console.log(fruits);
console.log(fruits[0]);
console.log(fruits[fruits.length - 1]);

fruits.push("date");
console.log(fruits);

fruits.pop();
console.log(fruits);

console.log(fruits.length);
Output
[ 'apple', 'banana', 'cherry' ]
apple
cherry
[ 'apple', 'banana', 'cherry', 'date' ]
[ 'apple', 'banana', 'cherry' ]
3
  • fruits[0] pega o primeiro item — diferente do Python, o JavaScript não tem indexação negativa, então fruits[fruits.length - 1] é como você pega o último item
  • push() adiciona um item ao final do array, no próprio local
  • pop() remove e retorna o último item
  • length é uma propriedade que sempre reflete o tamanho atual do array

Ordenando — e uma pegadinha real

let numbers = [5, 3, 1, 4, 2];
numbers.sort();
console.log(numbers);
numbers.reverse();
console.log(numbers);
Output
[ 1, 2, 3, 4, 5 ]
[ 5, 4, 3, 2, 1 ]

Isso parece certo — mas sort() na verdade converte os elementos para strings e os compara alfabeticamente por padrão, o que dá a ordem correta para dígitos únicos. Isso quebra assim que um número tem mais de um dígito:

let bigNumbers = [10, 1, 21, 2];
bigNumbers.sort();
console.log(bigNumbers);
Output
[ 1, 10, 2, 21 ]

"10" vem antes de "2" em ordem alfabética, da mesma forma que "apple" vem antes de "banana" — foi genuinamente isso que aconteceu aqui. Para ordenar números corretamente, passe uma função comparadora: numbers.sort((a, b) => a - b).

A seguir: objects — armazenar valores por nome em vez de por posição.

Exercício de Prática

Crie colors = ["red", "green", "blue"]. Faça push de "yellow", e depois imprima o array.