创建数组的两种方式
- 使用 Array 的构造函数
创建空数组:
var colors = new Array;
创建 length 为 108 的数组:
var persons = new Array(108);
创建包含指定内容的数组:
var normalColors = new Array("red", "green", "blue");
测试输出一下数组的长度:
数组的长度- 使用数组字面量表示法(由一对包含数组项的方括号表示)
创建空数组:
var colors = [];
创建包含指定内容的数组:
var normalColors = ["red", "green", "blue"];
测试输出一下数组的长度:
![数组的长度](https://img.haomeiwen.com/i4011078/9d415b2070ba0457.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
##### 数组的读取和设置 #####
在读取和设置数组时,要使用方括号并提供要操作的元素的数字索引。
下面是一个实例:
```JavaScript
var normalColors = ["red", "green", "blue"];
console.log("normalColors 1: ", normalColors[1]);
normalColors[1] = "gray";
console.log("normalColors 1: ", normalColors[1]);
normalColors[8] = "black";
for (var i=0; i<normalColors.length; ++i) {
console.log("normalColors "+i+": ", normalColors[i]);
}
输出结果:
输出结果从输出结果可以看出,如果设置的某个索引值超过了数组当前的长度,那么数组会自动增加到该索引值加一的长度。未被赋值的数组元素值就是 undefined 的。
数组的 length 属性
数组的 length 属性很有特点 —— 它不是只读的。因此,通过设置这个属性,可以从数组的末尾移除项或者向数组中添加项。下面是个实例:
var normalColors = ["red", "green", "blue"];
normalColors[4] = "black";
for (var i=0; i<normalColors.length; ++i) {
console.log("normalColors "+i+": ", normalColors[i]);
}
console.log("-------------------------------------");
normalColors.length = 3;
for (i=0; i<normalColors.length; ++i) {
console.log("normalColors "+i+": ", normalColors[i]);
}
console.log("-------------------------------------");
console.log("normalColors "+4+": ", normalColors[4]);
console.log("-------------------------------------");
normalColors.length = 4;
for (i=0; i<normalColors.length; ++i) {
console.log("normalColors "+i+": ", normalColors[i]);
}
输出结果:
输出结果正如实例中看到的再次引用索引4,得到的结果是 undefined。将数组的 length 属性设置为比原有值更小的值,相当于彻底从内存中删除了相关项。
利用 length 属性也可以很方便地在数组末尾添加新项,如下所示:
var normalColors = ["red", "green", "blue"];
normalColors[normalColors.length] = "black";
normalColors[normalColors.length] = "white";
for (var i=0; i<normalColors.length; ++i) {
console.log("normalColors "+i+": ", normalColors[i]);
}
输出结果如下:
输出结果
网友评论