Resumo : neste tutorial, você aprenderá sobre a length
propriedade JavaScript Array e como tratá-la corretamente.
O que exatamente é a propriedade JavaScript Array length
Por definição, a length
propriedade de um array é um número inteiro sem sinal de 32 bits que é sempre numericamente maior que o índice mais alto do array.
O valor do comprimento é 2 32 . Isso significa que uma matriz pode conter até 4294967296 (2 32 ) elementos.
A length
propriedade se comporta de maneira diferente dependendo dos tipos de array, incluindo denso e esparso.
1) Matrizes densas
Um array denso é um array onde seus elementos possuem índices contíguos começando em zero.
Para matrizes densas, você pode usar a length
propriedade para obter o número de elementos na matriz. Por exemplo:
let colors = ['red', 'green', 'blue'];
console.log(colors.length); // 3
Linguagem de código: JavaScript ( javascript )
Neste exemplo, a length
propriedade retorna três, que é igual ao número de elementos da colors
matriz.
O seguinte adiciona mais um elemento ao colors
array:
colors.push('yellow');
console.log(colors.length); // 4
Linguagem de código: JavaScript ( javascript )
Agora, a length
propriedade do colors
array é quatro.
Quando você esvazia o colors
array, seu comprimento é zero:
colors = [];
console.log(colors.length); // 0
Linguagem de código: JavaScript ( javascript )
2) Matrizes esparsas
Uma matriz esparsa é uma matriz cujos elementos não possuem índices contíguos começando em zero.
Por exemplo, the [10,, 20, 30]
é um array esparso porque os índices de seus elementos são 0, 2 e 3.
Em uma matriz esparsa, a propriedade length não indica o número real de elementos. É um número maior que o índice mais alto. Por exemplo:
let numbers = [10, , 20, 30];
console.log(numbers.length); // 4
Linguagem de código: JavaScript ( javascript )
Neste exemplo, o número de elementos na numbers
matriz é três: 10, 20 e 30. O índice mais alto é três. Portanto, a length
propriedade retorna quatro.
O seguinte adiciona um elemento ao numbers
array no índice 10:
numbers[10] = 100;
console.log(numbers.length); // 11
Linguagem de código: JavaScript ( javascript )
Neste exemplo, a length
propriedade retorna 11.
Modificando a propriedade de comprimento do array JavaScript
JavaScript permite alterar o valor da length
propriedade do array. Ao alterar o valor do comprimento, você pode remover elementos do array ou torná-lo esparso.
1) Esvazie um array
Se você definir length como zero, o array ficará vazio :
const fruits = ['Apple', 'Orange', 'Strawberry'];
fruits.length = 0;
console.log(fruits); // []
Linguagem de código: JavaScript ( javascript )
2) Remover elementos
Se você definir a length
propriedade de uma matriz com um valor inferior ao índice mais alto, todos os elementos cujo índice seja maior ou igual ao novo comprimento serão removidos.
O exemplo a seguir altera a length
propriedade do fruits
array para dois, o que remove o terceiro elemento do array:
const fruits = ['Apple', 'Orange', 'Strawberry'];
fruits.length = 2;
console.log(fruits); // [ 'Apple', 'Orange' ]
Linguagem de código: JavaScript ( javascript )
3) Torne o array esparso
Se você definir a length
propriedade de um array com um valor maior que o índice mais alto, o array será sobressalente. Por exemplo:
const fruits = ['Apple', 'Orange', 'Strawberry'];
fruits.length = 5;
console.log(fruits); // [ 'Apple', 'Orange', 'Strawberry', <2 empty items> ]
Linguagem de código: JavaScript ( javascript )
Resumo
- A
length
propriedade de uma matriz é um número inteiro sem sinal de 32 bits que é sempre numericamente maior que o índice mais alto da matriz. - O comprimento retorna o número de elementos que um array denso possui.
- Para a matriz sobressalente, o comprimento não reflete o número de elementos reais na matriz.
- Modificar a propriedade length pode remover elementos do array ou torná-lo sobressalente.