zoukankan      html  css  js  c++  java
  • 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

      

  • 相关阅读:
    Session的使用与Session的生命周期
    Long-Polling, Websockets, SSE(Server-Sent Event), WebRTC 之间的区别与使用
    十九、详述 IntelliJ IDEA 之 添加 jar 包
    十八、IntelliJ IDEA 常用快捷键 之 Windows 版
    十七、IntelliJ IDEA 中的 Maven 项目初体验及搭建 Spring MVC 框架
    十六、详述 IntelliJ IDEA 创建 Maven 项目及设置 java 源目录的方法
    十五、详述 IntelliJ IDEA 插件的安装及使用方法
    十四、详述 IntelliJ IDEA 提交代码前的 Code Analysis 机制
    十三、IntelliJ IDEA 中的版本控制介绍(下)
    十二、IntelliJ IDEA 中的版本控制介绍(中)
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/6901877.html
Copyright © 2011-2022 走看看