• javascript Array(数组)


    迁移时间:2017年5月25日08:05:33

    UpdateTime--2017年3月31日16:29:08

    一、数组(Array)

      (一)用法

    //js声明数组的两大类方式
    // 第一类(通常使用)
    var array1 = [];//初始化
    var array2 = [1,2,3];//声明并赋值
    array2[2] = 4;//指定固定位置数组元素的值
    array2.push(6);//1,2,4,6
    // 第二类
    var array3 = new Array();
    array3.push("张三");
    var array4 = new Array(3);//声明数组并指定长度
    array4[0] = "张三";
    array4.push("name");//张三,,,name

      注意:

          与Java不同的两点:

         a.java只能给指定的数组元素赋值;(js还可以通过push()方法给数组添加元素)

         b.java如果指定了数组长度,就不能数组越界。(js可以)

        1.1.1 push()方法说明

          方式一:声明的数组没有指定长度

           1.1.1.1 如果没有给指定元素赋值,调push()方法添加元素,会从元素下标为0开始插入;

           1.1.1.2 如果给指定元素赋值后,再调用push()方法添加元素,会从指定元素下标+1的位置开始插入;

          举例:

    var array3 = new Array();
    array3[8] = 'aa';    
    array3.push("张三");//,,,,,,,,aa,张三    

          方式二:声明数组时,指定了长度

            调用push()方法添加元素,会从最后一个元素下标+1(即从下标为长度n)的位置开始插入(即:允许越界);

           举例:

    var array4 = new Array(3);//声明数组并指定长度
    array4[0] = "张三";
    array4.push("name");//张三,,,name

           区别: 

             第一类方法与第二类方法的不同之处在于:第一类不能初始化数组长度,但是没有必要指定数组长度,就算指定了长度,数组越界时也不会抛出异常

      (二)操作数组

        1.2.1 增、改、删

         增:一般使用push()方法,也可使用指定元素下标进行添加;改:指定元素下标进行修改;删:指定元素下标的值为null

        举例:

    var array = new Array();
    array.push("张三");//增加
    array.push("李四");
    array.push("王五");
    array[1] = "赵六";//修改
    array[2] = null;//删除

        1.2.2 迭代(遍历)数组(查)

    var array = new Array();
    array.push("张三");
    array.push("李四");
    array.push("王五");
    /**
     * 方法一(推荐使用)
     */
    for(var index in array) {
        console.log(array[index]);
    }
    /**
     * 方法二:使用for循环
     */
    for(var i = 0; i < array.length; i++) {
        console.log(array[i]);
    }

    UpdateTime--2017年4月1日11:04:55

    UpdateTime--2017年6月30日18:33:23

      使用jQuery实现

    /**
     * 方法三:使用$.each()方法
     * 第一个参数:数组;
     * 第二个参数:数组元素索引;
     * 第三个参数:数组元素值
     */
    $.each(array, function (index, value) {
        console.log(index + "," + value);
    });

      变形: 

    /**
     * 方法四:$('数组').each(function(带参){});
     */
    $(array).each(function (index,value) {
         console.log(index + "," + value);
    });

      使用javascript实现

    /**
     * 方法五:直接使用forEach()方法(不建议使用)
     * 第一个参数:数组元素值;
     * 第二个参数:数组元素索引
     */
    array.forEach(function(value,index) {
        console.log(value + ',' + index);   
    }); 

      注意:

           1.虽然javascript也可以像java那样有自己的foreach方法(方法四),但是IE9下版本不支持,所以不推荐使用。(若非得使用js实现,转到文章:js自定义方法)

         2.对于方法一,java中没有这种迭代方式。

      UpdateTime--2017年9月7日16:01:12

      (三) 格式转换

      3.1 将数组转换成字符串

      需要使用join()方法

      语法:

        arrayObject.join(separator)

      参数描述:

        可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。 

      返回值:

        返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入 separator 字符串而生成的。

      举例:

    var array = ["element1","element2",10];
    alert(array.join());//element1,element2,10

      UpdateTime--2017年9月8日09:11:43

      3.2 将数组转换成JSONArray

    // 1.声明一个数组对象[]并赋值
    var array = ["element1","element2",10];
    // 2.声明一个JSONArray对象
    var JSONArray = {};
    // 3.对数组进行迭代,并插入到json对象中
    for (var i in array) {
        // 以元素下标为key,该元素为value
        JSONArray[i] = array[i];
    }
    alert(JSONArray[0]);// element1

      

  • 相关阅读:
    保持比例图像缩放简易算法
    ASP.Net中自定义Http处理及应用之HttpModule篇
    用于ASP.NET2.0的进度条控件(实时)
    VS2008SP1下jQuery使用初体验
    qau国庆七天乐——A
    现在的信息科学是泡沫吗?
    dp入门问题
    day09 10 11 12 三天函数内容
    day08文件操作
    day02五大运算符:逻辑运算符、成员运算符、算数、比较、赋值、
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/6901877.html
Copyright © 2020-2023  润新知