JavaScript 数组全面解析
1. 数组基础与稀疏数组
在 JavaScript 中,数组是一种特殊的对象。我们可以创建一个简单的数组,如 a = [true, false];
,这里数组 a
在索引 0 和 1 处有元素。当我们访问 a[2]
或 a[-1]
时,会得到 undefined
,因为这些索引处没有对应的元素。
由于数组是对象,它们可以从原型继承元素。在 ECMAScript 5 中,甚至可以使用 getter 和 setter 方法来定义数组元素。不过,如果数组继承了元素或使用了 getter 和 setter 方法,访问元素的时间会和普通对象属性查找时间相近。
接下来我们看看稀疏数组。稀疏数组是指元素的索引不是从 0 开始连续的数组。通常,数组的 length
属性表示数组中元素的数量,但对于稀疏数组, length
属性的值会大于元素的实际数量。以下是几种创建稀疏数组的方式:
a = new Array(5); // 没有元素,但 a.length 为 5
a = []; // 创建一个没有元素且 length 为 0 的数组
a[1000] = 0; // 赋值添加一个元素,但将 length 设置为 1001
我们还可以使用 delete
操作符使