【JS数组】length —如何有效地使用length 属性

JavaScript数组1年前 (2023)发布 admin
2,017 0

在本教程中,您将了解 JavaScript 数组length属性以及如何正确处理它。

JavaScript 数组length属性到底是什么

根据定义,数组的length属性是一个无符号的 32 位整数,它在数值上始终大于数组中的最高索引。

length的值为232。这意味着一个数组最多可以容纳4294967296(232)个元素。

length 属性的行为因数组类型(包括密集型和稀疏型)而异。

1)密集阵列

密集数组是其元素具有从零开始的连续索引的数组。

对于密集数组,可以使用 length 属性来获取数组中元素的数量。 例如:

let colors = [‘red’, ‘green’, ‘blue’];
console.log(colors.length); // 3

在此示例中,length 属性返回 3,这与 colors 数组中的元素数相同。

下面向 colors 数组添加了一个元素:

colors.push(‘yellow’);
console.log(colors.length); // 4

现在,颜色数组的长度属性为四。

当您清空颜色数组时,它的长度为零:

colors = [];
console.log(colors.length); // 0

2) 稀疏数组

稀疏数组是其元素没有从零开始的连续索引的数组。

例如,[10,, 20, 30] 是一个稀疏数组,因为其元素的索引为 0、2 和 3。

在稀疏数组中,长度属性并不表示元素的实际数量。 这是一个大于最高索引的数字。 例如:

let numbers = [10, , 20, 30];
console.log(numbers.length); // 4

在此示例中,数字数组中的元素数为三个:10、20 和 30。最高索引为三。 因此,length 属性返回 4。

以下代码将一个元素添加到索引 10 处的 numbers 数组:

numbers[10] = 100;
console.log(numbers.length); // 11

在此示例中,长度属性返回 11。

修改 JavaScript 数组长度属性

JavaScript 允许您更改数组长度属性的值。 通过改变长度的值,您可以从数组中删除元素或使数组稀疏。

1)清空一个数组

如果将长度设置为零,则数组将为空:

const fruits = [‘Apple’, ‘Orange’, ‘Strawberry’];
fruits.length = 0;

console.log(fruits); // []

2)删除元素

如果将数组的长度属性设置为低于最高索引的值,则会删除索引大于或等于新长度的所有元素。

以下示例将 fruits 数组的 length 属性更改为 2,这会从数组中删除第三个元素:

const fruits = [‘Apple’, ‘Orange’, ‘Strawberry’];
fruits.length = 2;

console.log(fruits); // [ ‘Apple’, ‘Orange’ ]

3) 使数组稀疏

如果将数组的长度属性设置为高于最高索引的值,则该数组将是备用的。 例如:

const fruits = [‘Apple’, ‘Orange’, ‘Strawberry’];
fruits.length = 5;

console.log(fruits); // [ ‘Apple’, ‘Orange’, ‘Strawberry’, <2 empty items> ]

总结

  • 数组的 length 属性是一个无符号的 32 位整数,它在数值上始终大于数组的最高索引。
  • 长度返回密集数组的元素数。
  • 对于备用数组,长度不反映数组中实际元素的数量。
  • 修改长度属性可以从数组中删除元素或使数组成为备用。
© 版权声明

相关文章

暂无评论

暂无评论...