2.數(shù)組元素的操作
上面已經(jīng)說過,可以通過 數(shù)組[下標(biāo)] 來讀寫元素
下標(biāo)的范圍是 0 – (23(上標(biāo)2) -1),當(dāng)下標(biāo)是負(fù)數(shù)、浮點(diǎn)甚至布爾值的時(shí)候,數(shù)組會(huì)自動(dòng)轉(zhuǎn)換為對(duì)象類型,例如
var b = new Array(); b[2.2] = "XXXXX"; alert(b[2.2]); //-> XXXXX
此時(shí)相當(dāng)于b[“2.2”] = “XXXXX”
2.1數(shù)組的循環(huán)
var a = [1,2,3,4,5,6]; for(var i =0; i<a.length; i++){ alert(a[i]); }
這是最常用的,歷遍數(shù)組,代碼將依次彈出1至6
還有一種常用的
var a = [1,2,3,4,5,6]; for(var e in a){ alert(e); }
還是依次彈出1至6,for…in是歷遍對(duì)象(數(shù)組是特殊的對(duì)象)對(duì)象,用在數(shù)組上,因?yàn)閿?shù)組沒有屬性名,所以直接輸出值,這結(jié)構(gòu)語句用在對(duì)象上,例如下面
var a = {x:1,y:2,z:3}; for(var e in a){ alert(e + ":" + a[e]); }
此時(shí)e取到的是屬性名,即 x、y、x,而要取得值,則采用 數(shù)組名[屬性],所以 a[e] 等同于 a[“x”]、a[“y”]、a[“z”]
2.2數(shù)組常用函數(shù)
concat
在現(xiàn)有數(shù)組后面追加數(shù)組,并返回新數(shù)組,不影響現(xiàn)有數(shù)組
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
需要注意的是只能用于數(shù)組或字符串,如果被連接(前面的a)的是數(shù)值、布爾值、對(duì)象,就會(huì)報(bào)錯(cuò),字符串連接數(shù)組時(shí),字符串會(huì)跟數(shù)組首元素拼接成新元素,而數(shù)組連接字符串則會(huì)追加新元素(這點(diǎn)我也不清楚原委,知情者請(qǐng)透露),對(duì)于數(shù)組里面包含數(shù)組、對(duì)象的,連接后保持原樣
join
用指定間隔符連起來,把數(shù)組轉(zhuǎn)為字符串
var a = ['a','b','c','d','e','f','g']; lert(a.join(",")); // -> a,b,c,d,e,f,g 相當(dāng)于a.toString() alert(a.join(" x ")); // -> a x b x c x d x e x f x g
這個(gè)很容易理解,但需要注意的是只轉(zhuǎn)換一維數(shù)組里面,如果數(shù)組里面還有數(shù)組,將不是采用join指定的字符串接,而是采用默認(rèn)的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
數(shù)組里面的數(shù)組,并沒用 * 連接
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 認(rèn)識(shí)Javascript數(shù)組 [1] 下一頁 認(rèn)識(shí)Javascript數(shù)組 [3]
◎進(jìn)入論壇網(wǎng)頁制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|