Cómo obtener el tamaño de un array en JavaScript
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
lengthde 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
lengthdevuelve la cantidad de elementos que tiene un array denso. - Para la propiedad
lengthde array disperso, la longitud no refleja la cantidad de elementos reales en la matriz. - La modificación de la propiedad
lengthpuede eliminar elementos en un array o hacer que el array sea denso.
