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);[ '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);
[ 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);
[ 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.