AnyCompiler

Arrays

Un array es una colección ordenada y modificable — el equivalente en JavaScript de la lista de Python, y probablemente la estructura de datos más usada del lenguaje.

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] obtiene el primer elemento — a diferencia de Python, JavaScript no tiene índices negativos, así que fruits[fruits.length - 1] es cómo obtienes el último elemento
  • push() añade un elemento al final del array, en el mismo lugar
  • pop() elimina y devuelve el último elemento
  • length es una propiedad que siempre refleja el tamaño actual del array

Ordenar — y un problema 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 ]

Esto parece correcto — pero sort() en realidad convierte los elementos a strings y los compara alfabéticamente por defecto, lo cual da el orden correcto para dígitos individuales. Se rompe en cuanto un número tiene más de un dígito:

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

"10" se ordena antes que "2" alfabéticamente, de la misma forma que "apple" se ordena antes que "banana" — eso es genuinamente lo que pasó aquí. Para ordenar números correctamente, pasa una función comparadora: numbers.sort((a, b) => a - b).

Siguiente: objects — almacenar valores por nombre en vez de por posición.

Ejercicio de práctica

Crea colors = ["red", "green", "blue"]. Haz push de "yellow", y luego imprime el array.