数组
1、创建数组
(1)方法一:使用 Array 构造函数,比如: var colors = new Array();
(2)方法二:使用数组字面量表示法。比如:
var colors = ["red", "blue", "green"]; // 创建一个包含 3 个元素的数组
var names = []; // 创建一个空数组
var values = [1,2,]; // 创建一个包含 2 个元素的数组
(3)方法三: Array 构造函数还有两个 ES6 新增的用于创建数组的静态方法:from()和 of()。from()用于将类数组结构转换为数组实例,而 of()用于将一组参数转换为数组实例。
2、数组空位
使用数组字面量初始化数组时,可以使用一串逗号来创建空位(hole)
(1)ECMAScript 会将逗号之间相应索引位置的值当成空位
const options = [,,,,,]; // 创建包含 5 个元素的数组
console.log(options.length); // 5
console.log(options); // [,,,,,]
(2)ES6 新增方法普遍将这些空位当成存在的元素,只不过值为 undefined:
const options = [1,,,,5];
for (const option of options) {
console.log(option === undefined);
}
// false
// true
// true
// true
// false
3、数组索引
(1)要取得或设置数组的值,需要使用中括号并提供相应值的数字索引
let colors = ["red", "blue", "green"]; // 定义一个字符串数组
alert(colors[0]); // 显示第一项
colors[2] = "black"; // 修改第三项
colors[3] = "brown"; // 添加第四项
(2)数组中元素的数量保存在 length 属性中,这个属性始终返回 0 或大于 0 的值
let colors = ["red", "blue", "green"]; // 创建一个包含 3 个字符串的数组
let names = []; // 创建一个空数组
alert(colors.length); // 3
alert(names.length); // 0
(3)通过修改 length 属性,可以从数组末尾删除或添加元素
let colors = ["red", "blue", "green"]; // 创建一个包含 3 个字符串的数组
colors.length = 2;
alert(colors[2]); // undefined