JavaScript极简入门教程(三):数组

时间:2022-12-03 18:43:38

阅读本文需要有其他语言的编程经验。

在 JavaScript 中数组是对象(而非线性分配的内存)。

通过数组 literal 来创建数组:

 

复制代码 代码如下:

var empty = [];
var numbers = [
    'zero', 'one', 'two', 'three', 'four',
    'five', 'six', 'seven', 'eight', 'nine'
];
empty[1] // undefined
numbers[1] // 'one'
empty.length // 0
numbers.length // 10

 

数组有一个属性 length(而对象没有)表示数组的长度。length 的值为数组的最大整数属性名加 1:

 

复制代码 代码如下:

var myArray = [];
myArray.length; // 0
myArray[1000000] = true;
myArray.length; // 1000001

 

我们可以直接修改 length:

length 被改大不会导致分配更多的空间
length 被改小,所有下标大于或等于 length 的属性被删除
由于数组也是对象,因此可以用 delete 来删除数组中的元素:

 

复制代码 代码如下:

delete number[2];
number[2] === undefined;

 

这样删除数组中的元素将留下一个空洞。

JavaScript 提供了一套数组的方法,这些方法被放在 Array.prototype 中(这里就不详细介绍了)。