zoukankan      html  css  js  c++  java
  • JQuery中数组的创建与使用

    一、创建数组的方式:

      1.定义并赋值

      var str = ['java', 'php', 'c++', 'c#', 'perl', 'vb', 'html', 'css'];

      2.用{}定义后赋值:

       var array = {};//定义一个数组
       array[0] = "Tom";
       array[1] = "Male";
       array[2] = "123456@qq.com";

      数组的下标也可以这样:

       array['name'] = "Tom";
       array['sex'] = "Male";
       array['mail'] = "123456@qq.com";

     3.使用new Array()定义:

        (1).

          var a = new Array(10);
         定义长度为10的数组,此时为a已经开辟了内存空间,用数组名称加 [下标] 来调用。 

        (2).

         var a = new Array();
         a[0] = 10;
         a[1] = "Tom";
         a[2] = 12.6;

        定义一个可变数组,并进行赋值。数组的赋值还可以使用push()方法,这样可以避免使用下标的麻烦:

        a.push(10);

        a.push("Tom");

        a.push(12.6);

        (3).

         var a = new Array(1, 2, 3, 4, 5);
         var b = [1, 2, 3, 4, 5];
        a 和 b 都是数组,只不过b用了隐性声明,创建了另一个实例,此时如果用alert(a==b)将弹出false。

      (4).

        数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象。
    Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能。

        数组里面可以包含对象,所以可以把数组里面的某个元素再声明为数组,例如
         var a = new Array();
         a[0] = new Array();
         a[0][0] = 1;
         alert(a[0][0]); //弹出 1

        声明的时候赋值
         var a = new Array([1,2,3], [4,5,6], [7,8,9]);
         var b = [[1,2,3], [4,5,6], [7,8,9]];

    二、数组的操作:

       1.通过数组[下标]来读写数组的元素:

        如:a[0] = 10;
            a[1] = "Tom";
            a[2] = 12.6;

       下标的范围是 0 – (23(上标2) -1),当下标是负数、浮点甚至布尔值的时候,数组会自动转换为对象类型。

        如:
       var b = new Array();
       b[2.2]  = "XXXXX";
       alert(b[2.2]); //-> XXXXX

      2.通过push(),pop()方法读写元素:

       (1).push

        往数组后面添加数组,并返回数组新长度
        var a =    ["aa","bb","cc"];
        document.write(a.push("dd"));    // -> 4

       (2).pop

         删除数组最后一个元素,并返回该元素
         var a =    ["aa","bb","cc"];
         document.write(a.pop());    // -> cc

      3.数组的循环:

       (1).for循环:

         var a = [1,2,3,4,5,6];
         for(var i =0; i<a.length; i++){
              alert(a[i]);
         }

       (2).foreach循环:

          var a = [1,2,3,4,5,6];
          for(var e in a){
              alert(e);
           }
       还是依次弹出1至6,for…in是历遍对象(数组是特殊的对象)对象,用在数组上,因为数组没有属性名,所以直接输出值,这结构语句用在对象上,例如下面
         var a = {x:1,y:2,z:3};
         for(var e in a){
           alert(e    + ":" + a[e]);
         }

        此时e取到的是属性名,即 x、y、x,而要取得值,则采用 数组名[属性],所以 a[e] 等同于 a[“x”]、a[“y”]、a[“z”]。

       4.将数组转换为字符串:

       (1).join("分隔符")

        用指定间隔符连起来,把数组转为字符串
         例:
           var a = ['a','b','c','d','e','f','g'];
           alert(a.join(",")); // -> a,b,c,d,e,f,g
        需要注意的是只转换一维数组里面,如果数组里面还有数组,将不是采用join指定的字符串接,而是采用默认的toString()。

        (2).toString()

        把数组转为字符串,不只数组,所有对象均可使用该方法
        var a = [5,6,7,8,9,["A","BB"],100];
        document.write(a.toString());    // -> 5,6,7,8,9,A,BB,100

        (3)valueOf
        根据不同对象返回不同原始值,用于输出的话跟toString()差不多,但是toString()是返回string类型,而valueOf()是返回原对象类型。
        var a = [1,2,3,[4,5,6,[7,8,9]]];
       document.write(a.valueOf());    // -> 1,2,3,4,5,6,7,8,9

       5.使用slice返回数组片段 

        var a = ['a','b','c','d','e','f','g'];
        alert(a.slice(1,2)); // -> b
        alert(a.slice(2));    // -> c,d,e,f,g
        alert(a.slice(-4));   // -> d,e,f,g
        alert(a.slice(-2,-6));    // -> 空

        a.slice(1,2),从下标为1开始,到下标为2之间的数,注意并不包括下标为2的元素
        如果只有一个参数,则默认到数组最后。
       -4是表示倒数第4个元素,所以返回倒数的四个元素。
      alert(a.slice(-2,-6))从倒数第2开始,因为是往后截取,所以显然取不到前面的元素,所以返回空数组,如果改成 a.slice(-6,-2) 则返回b,c,d,e。

  • 相关阅读:
    [转]ASP.NET中JSON的序列化和反序列化
    [转]JavaScriptSerializer中日期序列化
    [转]国外英语教学网页
    [转]linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)
    [转]Business Model Canvas(商业模式画布):创业公司做头脑风暴和可行性测试的一大利器
    [转]sql server transaction
    CentOS7安装配置PostgreSQL9.6
    使用struts的同步令牌避免form的重复提交
    Flink初探-为什么选择Flink
    jdbc三种常见用法
  • 原文地址:https://www.cnblogs.com/baoshuyan66/p/4849322.html
Copyright © 2011-2022 走看看