JavaScript 使用记录

JavaScript Array 类型 1

2017-12-07  本文已影响9人  赵者也
创建数组的两种方式
  1. 使用 Array 的构造函数

创建空数组:

var colors = new Array;

创建 length 为 108 的数组:

var persons = new Array(108);

创建包含指定内容的数组:

var normalColors = new Array("red", "green", "blue");

测试输出一下数组的长度:

数组的长度
  1. 使用数组字面量表示法(由一对包含数组项的方括号表示)

创建空数组:

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]);
        }

输出结果如下:

输出结果
上一篇 下一篇

猜你喜欢

热点阅读