| 2.数组元素的操作 上面已经说过,可以通过 数组[下标] 来读写元素 下标的范围是 0 – (23(上标2) -1),当下标是负数、浮点甚至布尔值的时候,数组会自动转换为对象类型,例如 var b    = new Array();b[2.2]    = "XXXXX";
 alert(b[2.2]);  //-> XXXXX
 此时相当于b[“2.2”]  = “XXXXX” 2.1数组的循环 var a = [1,2,3,4,5,6];for(var i =0; i<a.length; i++){
 alert(a[i]);
 }
 这是最常用的,历遍数组,代码将依次弹出1至6 还有一种常用的 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”] 2.2数组常用函数 concat 在现有数组后面追加数组,并返回新数组,不影响现有数组 var a = [123];var b = "sunnycat";
 var c =    ["www",21,"ido"];
 var d = {x:3.14, y:"SK"};
 var e = [1,2,3,4,[5,6,[7,8]]];
 alert(a.concat(b));     // -> 123,sunnycat
 alert(a);  //    -> 123
 alert(b.concat(c, d));       // -> sunnycatwww,21,ido[object    Object]
 alert(c.concat(b));     // -> www,21,ido,sunnycat
 alert(e.concat(11,22,33).join(" #    "));       // -> 1 # 2 # 3    # 4 # 5,6,7,8 # 11 # 22 # 33
 需要注意的是只能用于数组或字符串,如果被连接(前面的a)的是数值、布尔值、对象,就会报错,字符串连接数组时,字符串会跟数组首元素拼接成新元素,而数组连接字符串则会追加新元素(这点我也不清楚原委,知情者请透露),对于数组里面包含数组、对象的,连接后保持原样 join 用指定间隔符连起来,把数组转为字符串 var a = ['a','b','c','d','e','f','g'];lert(a.join(","));   // -> a,b,c,d,e,f,g 相当于a.toString()
 alert(a.join(" x "));  // -> a x b x c x d x e x f x g
 这个很容易理解,但需要注意的是只转换一维数组里面,如果数组里面还有数组,将不是采用join指定的字符串接,而是采用默认的toString(),例如 var a =    ['a','b','c','d','e','f','g',[11,22,33]];alert(a.join(" * "));  // -> a * b * c * d * e * f * g *    11,22,33
 数组里面的数组,并没用 * 连接 出处:蓝色理想
责任编辑:bluehearts
 上一页 认识Javascript数组 [1] 下一页 认识Javascript数组 [3] ◎进入论坛网页制作、WEB标准化版块参加讨论,我还想发表评论。
	      |