数组初始化表达式

数组初始化表达式 是通过一对方括号和其内由逗号隔开的列表构成的。初始化的结果是一个新创建的数组。

逗号分隔

数组的元素是 逗号分隔 的表达式的值。

空数组:[] 内留空即表示该数组没有任何元素

拥有两个元素的数组:第一个是 3,第二个是 7。

[1 + 2, 3 + 4]

嵌套数组

数组初始化表达式中的元素初始化表达式也可以是数组的初始化表达式。也就是说,这些表达式是可以嵌套的。

var matrix = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]

可省略元素

数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充值不存在。

var sparseArray = [1, , , , 5]
// 相当于
// [1, empty x 3, 5]

数组直接量的元素列表结尾处可以留下单个逗号,这时并不会创建一个新的值为 undefined 的值。

const arr = [1, 2, 3, ]
console.log(arr)
// [1, 2, 3]

索引赋值

通过数组索引赋值,只会给指定索引所在位置赋值,而其中未赋值的索引位置则表示为空 empty,而非定义为 undefined.

let arr = [0, 1]
arr[10] = 10
console.log(arr);
// [0, 1, empty x 8, 10]
console.log(arr.length);
// 11
ary.filter(x => x === undefined);
// []