JavaScript Array 类型 1

作者: 赵者也 | 来源:发表于2017-12-07 19:55 被阅读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]);
            }
    

    输出结果如下:

    输出结果

    相关文章

      网友评论

        本文标题:JavaScript Array 类型 1

        本文链接:https://www.haomeiwen.com/subject/feakixtx.html