
Resumen: en este tutorial, aprenderás sobre la propiedad de length
de un array o matriz en JavaScript y cómo manejarla correctamente.
Introducción a la propiedad length de un array en JavaScript
Por definición, la propiedad length de un array es un número entero de 32 bits sin signo que siempre es numéricamente mayor que el índice más alto de la matriz.
El valor de length es 232
. Significa que un array puede contener hasta 4294967296 (232)
elementos.
La propiedad de length
se comporta de manera diferente según los tipos de array, incluidos los densos y dispersos.
1) Arrays densos
Un array denso es una matriz en la que sus elementos tienen índices contiguos que comienzan en cero.
Para arreglos densos, puedes usar la propiedad de length
para obtener la cantidad de elementos en el arreglo. Por ejemplo:
let colors = ['red', 'green', 'blue'];
console.log(colors.length); // 3
En este ejemplo, la propiedad length
devuelve 3
, que es igual al número de elementos en el array de colores.
Lo siguiente agrega un elemento más al array de colores:
colors.push('yellow');
console.log(colors.length); // 4
Ahora, la propiedad length
del array de colors
es 4
.
Cuando vacías la matriz de colors
, su longitud es cero:
colors = [];
console.log(colors.length); // 0
2) Arrays dispersos
Un array disperso es una matriz cuyos elementos no tienen índices contiguos que comienzan en cero.
Por ejemplo, [10,, 20, 30] es una matriz dispersa porque los índices de sus elementos son 0
, 2
y 3
.
En un array disperso, la propiedad length
no indica el número real de elementos. Es un número que es mayor que el índice más alto. Por ejemplo:
let numbers = [10, , 20, 30];
console.log(numbers.length); // 4
En este ejemplo, la cantidad de elementos en el array de números es tres: 10
, 20
y 30
. El índice más alto es tres. Por lo tanto, la propiedad length
devuelve 4
.
Lo siguiente agrega un elemento a la matriz de números en el índice 10
:
numbers[10] = 100;
console.log(numbers.length); // 11
En este ejemplo, la propiedad length
devuelve 11
.
Modificar la propiedad length de un array de JavaScript
JavaScript permite cambiar el valor de la propiedad length
del array. Al cambiar el valor de length
, puedes eliminar elementos del array o hacer que el array este vacío.
1) Vaciar un array
Si estableces la longitud en 0
, el array estará vacío:
const fruits = ['Apple', 'Orange', 'Strawberry'];
fruits.length = 0;
console.log(fruits); // []
2) Eliminar elementos
Si estableces la propiedad length
de un array en un valor inferior al índice más alto, se eliminarán todos los elementos cuyo índice sea mayor o igual que la nueva longitud.
El siguiente ejemplo cambia la propiedad length
del array fruits
a 2
, lo que elimina el tercer elemento del array:
const fruits = ['Apple', 'Orange', 'Strawberry'];
fruits.length = 2;
console.log(fruits); // [ 'Apple', 'Orange' ]
3) Hacer que el array sea disperso
Si establece la propiedad length
de un array en un valor superior al índice más alto, el array estará disperso. Por ejemplo:
const fruits = ['Apple', 'Orange', 'Strawberry'];
fruits.length = 5;
console.log(fruits); // [ 'Apple', 'Orange', 'Strawberry', <2 empty items> ]
Resumen
- La propiedad
length
de un array es un entero de 32 bits sin signo que siempre es numéricamente mayor que el índice más alto de la matriz. - La propiedad
length
devuelve la cantidad de elementos que tiene un array denso. - Para la propiedad
length
de array disperso, la longitud no refleja la cantidad de elementos reales en la matriz. - La modificación de la propiedad
length
puede eliminar elementos en un array o hacer que el array sea denso.