La Propiedad length

javascript

📏 ¿Cuántos Elementos Hay?

Todos los arreglos en JavaScript tienen una propiedad especial llamada length.

INFO

La palabra length viene del inglés, que significa largo o longitud

Esta propiedad nos dice cuántos elementos contiene el arreglo en ese momento.

Sólo debemos poner un punto frente al arreglo . y luego la palabra length.

let misNumeros = [5, 10, 15, 20];
console.log(misNumeros.length); // Muestra 4
let ingredientesPizza = ["Masa", "Tomate", "Queso"];
console.log(ingredientesPizza.length); // Muestra 3
let arregloVacio = [];
console.log(arregloVacio.length); // Muestra 0

Terminal window
4
3
0

✨ Se Actualiza Automáticamente

Se actualiza sola cada vez que agregamos o quitamos elementos del arreglo usando los métodos apropiados (que veremos más adelante, como push, pop, splice, etc.).

let amigos = ["Ana", "Luis"];
console.log(amigos.length); // Muestra 2
// Agregamos un amigo (usando un método que pronto aprenderás)
amigos[2] = "Carlos";
console.log(amigos); // Muestra ["Ana", "Luis", "Carlos"]
console.log(amigos.length); // Muestra 3 (¡se actualizó!)

⏭️ Cómo Acceder al Último Elemento Usando length

Sabemos que los índices para acceder al contenido de un arreglo empiezan desde 0, ya que length nos devuelve el conteo total en “formato humano”, el índice del último elemento en “formato arreglo” siempre será length - 1.

let episodios = ["El Despertar", "Secretos Ocultos", "La Traición", "El Final"];
let ultimoEpisodio = episodios[episodios.length - 1];
console.log(ultimoEpisodio);

Terminal window
El Final

Esta es una forma muy común de obtener el último elemento, especialmente cuando no sabemos cuántos elementos tendrá el arreglo.

INFO

JavaScript moderno introdujo el método .at(-1) que es una forma más directa y legible de obtener el último elemento

⚠️ Modificando length Directamente

También podemos asignar un valor a la propiedad length. Esto modifica el arreglo de formas que pueden ser útiles, pero también peligrosas si no se entienden bien.

Acortando un Arreglo

Si asignas a length un número menor que la cantidad actual de elementos, el arreglo se truncará, eliminando los elementos del final.

let letras = ["a", "b", "c", "d", "e"];
console.log(letras.length); // Muestra 5
letras.length = 3; // Asignamos un valor menor
console.log(letras); // Muestra ['a', 'b', 'c']
console.log(letras.length); // Muestra 3

Esta es una forma rápida de eliminar elementos del final.

Agrandando un Arreglo

Si asignas a length un número mayor que la cantidad actual de elementos, el arreglo se agrandará, pero los nuevos espacios se llenarán con “empty slots” o “agujeros”, que se comportan de forma similar a undefined pero no son exactamente lo mismo.

let items = [100, 200];
console.log(items.length); // Muestra 2
items.length = 5; // Asignamos un valor mayor
console.log(items); // Muestra [100, 200, <3 empty items>]
console.log(items.length); // Muestra 5
console.log(items[2]); // Muestra undefined
CUIDADO

Crear arreglos con “empty slots” (agujeros) generalmente no es recomendable. Puede hacer que algunos métodos de arreglo se comporten de forma inesperada.

🧹 Vaciar un Arreglo

Una forma rápida de eliminar todos los elementos de un arreglo es asignar 0 a su propiedad length.

let listaTareas = ["Lavar ropa", "Comprar pan", "Estudiar JS"];
console.log(listaTareas.length); // Muestra 3
listaTareas.length = 0; // ¡Arreglo vaciado!
console.log(listaTareas); // Muestra []
console.log(listaTareas.length); // Muestra 0

☝️🤓
🏋️‍♂️ Ejercicio
  1. Crea un arreglo llamado frutas con 5 nombres de frutas.
  2. Muestra por consola cuántas frutas hay en el arreglo usando length.
  3. Usando length, muestra por consola la última fruta del arreglo.
  4. Ahora, cambia el length del arreglo a 2.
  5. Muestra el arreglo frutas por consola. ¿Qué frutas quedaron?
🏋️‍♂️ Ejercicio

Dado el siguiente arreglo: let valores = [10, true, "Hola", null, 50];

  1. ¿Cuál es el valor de valores.length?
  2. ¿Cuál es el índice del elemento null?
  3. Escribe el código para acceder al elemento "Hola" usando la propiedad length (sin usar directamente el índice 2).
  4. ¿Qué pasaría si hiciéramos valores.length = 10? Describe cómo quedaría el arreglo.
🚀 Extra

Investiga sobre:

  1. El método .at() para acceder a elementos. ¿Cómo usarías miArreglo.at(-1) y qué ventaja tiene sobre miArreglo[miArreglo.length - 1]?
  2. ¿Cuál es la diferencia exacta entre un elemento undefined y un “empty slot” en un arreglo?
  3. ¿Qué otros métodos existen para vaciar un arreglo además de miArreglo.length = 0?

Comentarios

Artículos relacionados

javascript

Crear y Acceder a Elementos de Arreglos

4 mins
javascript

Arreglos - Métodos para agregar y quitar elementos

2 mins