JavaScript中数组的创建与使用

JQuery中数组的创建与使用

一、创建数组的方式:

   

 1.定义并赋值  var str = ['java', 'php', 'c++', 'c#', 'perl', 'vb', 'html', 'css'];

    2.用{}定义后赋值:

   var array = {};//定义一个数组

array[0]="Tom";

array[1]="Male";

   array[2] = "[email protected]";

   数组的下标也可以这样:

   array['name'] = "Tom";

array['sex']="Male";

   array['mail'] = "[email protected]";

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

varb=[1,2,3,4,5];

    a 和 b 都是数组,只不过b用了隐性声明,创建了另一个实例,此时如果用alert(a==b)将弹出false。

    (4).

    数组就是某类数据的集合,数据类型可以是整型、字符串、甚至是对象。

Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能。

    数组里面可以包含对象,所以可以把数组里面的某个元素再声明为数组,例如

vara=newArray();

a[0]=newArray();

a[0][0]=1;

alert(a[0][0]);//弹出1

声明的时候赋值

vara=newArray([1,2,3],[4,5,6],[7,8,9]);

varb=[[1,2,3],[4,5,6],[7,8,9]];

二、数组的操作:

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

    如:a[0] = 10;

a[1]="Tom";

a[2]=12.6;

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

    如:

varb=newArray();

b[2.2]="XXXXX";

alert(b[2.2]);//->XXXXX

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

   (1).push

    往数组后面添加数组,并返回数组新长度

vara=["aa","bb","cc"];

document.write(a.push("dd"));//->4

   (2).pop

     删除数组最后一个元素,并返回该元素

vara=["aa","bb","cc"];

document.write(a.pop());//->cc

  3.数组的循环:

  

   (1).for循环:

     var a = [1,2,3,4,5,6];

for(vari=0;i<a.length;i++){

alert(a[i]);

}

   (2).foreach循环:

      var a = [1,2,3,4,5,6];

for(vareina){

alert(e);

}

还是依次弹出1至6,for…in是历遍对象(数组是特殊的对象)对象,用在数组上,因为数组没有属性名,所以直接输出值,这结构语句用在对象上,例如下面

vara={x:1,y:2,z:3};

for(vareina){

alert(e+":"+a[e]);

}

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

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

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

    用指定间隔符连起来,把数组转为字符串

例:

vara=['a','b','c','d','e','f','g'];

alert(a.join(","));//->a,b,c,d,e,f,g

    需要注意的是只转换一维数组里面,如果数组里面还有数组,将不是采用join指定的字符串接,而是采用默认的toString()。

    (2).toString()

    把数组转为字符串,不只数组,所有对象均可使用该方法

vara=[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()是返回原对象类型。

vara=[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。

 参考:

   http://www.chncms.com/2011/03/31/JAVASCRIPTARRAY.html

相关推荐