pop
刪除數(shù)組最后一個(gè)元素,并返回該元素
var a = ["aa","bb","cc"]; document.write(a.pop()); // -> cc document.write(a); // -> aa, bb
如果數(shù)組為空,則返回undefined
push
往數(shù)組后面添加數(shù)組,并返回?cái)?shù)組新長(zhǎng)度
var a = ["aa","bb","cc"]; document.write(a.push("dd")); // -> 4 document.write(a); // -> aa,bb,cc,dd document.write(a.push([1,2,3])); // -> 5 document.write(a); // -> aa,bb,cc,dd,1,2,3
跟concat的區(qū)別在于,concat不影響原數(shù)組,直接返回新數(shù)組,而push則直接修改原數(shù)組,返回的是數(shù)組新長(zhǎng)度
sort
數(shù)組排序,先看個(gè)例子
var a = [11,2,3,33445,5654,654,"asd","b"]; alert(a.sort()); // -> 11,2,3,33445,5654,654,asd,b
結(jié)果是不是很意外,沒錯(cuò),排序并不是按整型大小,而是字符串對(duì)比,就是取第一個(gè)字符的ANSI碼對(duì)比,小的排前面,相同的話取第二個(gè)字符再比,如果要按整型數(shù)值比較,可以這樣
var a = [11,2,3,33445,5654,654]; a.sort(function(a,b) { return a - b; }); alert(a); // -> 2,3,11,654,5654,33445
sort()方法有個(gè)可選參數(shù),就是代碼里的function,這是個(gè)簡(jiǎn)單的例子,不可對(duì)非數(shù)字進(jìn)行排序,非數(shù)字需要多做判斷,這里就不多講
reverse
對(duì)數(shù)組進(jìn)行反排序跟,sort()一樣,取第一字符ASCII值進(jìn)行比較
var a = [11,3,5,66,4]; alert(a.reverse()); // -> 4,66,5,3,11
如果數(shù)組里面還包含數(shù)組,則當(dāng)為對(duì)象處理,并不會(huì)把元素解出來
>var a = ['a','b','c','d','e','f','g',[4,11,33]]; alert(a.reverse()); // -> 4,11,33,g,f,e,d,c,b,a alert(a.join(" * ")); // -> 4,11,33 * g * f * e * d * c * b * a
按理應(yīng)該是11排最后面,因?yàn)檫@里把 4,11,33 當(dāng)做完整的對(duì)象比較,所以被排在第一位。看不明白的話,用join()串起來,就明了多
shift
刪除數(shù)組第一個(gè)元素,并返回該元素,跟pop差不多
var a = ["aa","bb","cc"]; document.write(a.shift()); // -> aa document.write(a); // -> bb,cc
當(dāng)數(shù)組為空時(shí),返回undefined
unshift
跟shift相反,往數(shù)組最前面添加元素,并返回?cái)?shù)組新長(zhǎng)度
var a = ["aa","bb","cc"]; document.write(a.unshift(11)); // -> 4 注:IE下返回undefined document.write(a); // -> 11,aa,bb,cc document.write(a.unshift([11,22])); // -> 5 document.write(a); // -> 11,22,11,aa,bb,cc document.write(a.unshift("cat")); // -> 6 document.write(a); // -> cat,11,22,11,aa,bb,cc
注意該方法,在IE下將返回undefined,貌似微軟的bug,我在firefox下則能正確發(fā)揮數(shù)組新長(zhǎng)度
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁(yè) 認(rèn)識(shí)Javascript數(shù)組 [2] 下一頁(yè) 認(rèn)識(shí)Javascript數(shù)組 [4]
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|