js拾遺補缺之數組篇(一)

 

Js好久沒用了,感覺都有點疏遠了,還好最近看了本好書《javascript 高級編程》這才慢慢的把js又溫習了一下。

這裏把一些js裏常用的知識點列一下,以供以後的查詢

這是第一篇,講講Array吧。

 

與java不同的是在js中存在真正的Array類。
可以這樣var aValues = new Array(20);定義Array
也可以這樣定義Array

var aValues = new Array();

 


aValues[0]="aaa";
aValues[1]="bbb";
aValues[2]="ccc";
還可以這樣定義
var aValues =new Array("aaa","bbb","ccc");


js中的數組類似於java中的ArrayList,每增加一個數組項,數組的長度就動態的增加。
例如:
var aValue= new Array("aaa","bbb","ccc");
aValues[3]="dddd";
alert(aValues.length);
結果,不會象java裏那樣出現空指針,而是是4.


如果是在數組的位置30放置一個值結果會如何?
var aValue= new Array("aaa","bbb","ccc");
aValues[30]="dddd";
alert(aValues.length);
答對了,結果是31
那3,到29的位置的值都會是什麼那?對,是null。

 


Array對象有很多很有用的方法,很多都是java裏沒有的。(什麼時候java也能有這樣的方法啊!)。

 

 

 

 

1.toString ,valueOf
這2個方法功能一樣都是返回一個以,爲分割符的字符串
var aValues= ["a","b","c"];
alert(aValues.toString());//返回的是a,b,c

 

2.join(separator)-----------------以separator指定的字符作爲分割符,將數組轉換爲字符串,當seperator 爲逗號時,其作用和toString()相同。
var aValues= ["a","b","c"];
alert(aValues.join("-"));//返回的是a-b-c
alert(aValues.join("]["));//返回的是a][b][-c

 

3.concact(item1,item2,....)-----------該方法不是要把參數列表連接到原來的數組中而是把參數列表添加到數組的後面形成一個新的數組並返回,
而原有數組不受影響。

如:var aValues=["a","b","c"];
var aNewValues=aValues.concact("d","e");
alert(aNewValues.toString);//輸出的是a,b,c,d,e
alert(aValues.toString);//輸出的亦然是a,b,c

 

4.objArray.pop()---------看名字就能猜到這是棧的操作。恭喜你猜對了,該方法就是彈出數組的最後一個元素。
pop方法返回數組最後一個元素的值,並將length屬性減1,即返回後立即丟失最後一個元素。
他結合下面的push方法,使得將數組作爲棧來使用成爲可能。

var aValues= ["a","b","c"];
alert(aValues.pop());//輸出的是c
alert(aValues.length);//輸出的是2

 

5. push([value1[,value2[,....]]])-------------還是棧的操作,將參數添加到數組的結尾。如:[1,2,3, 4].push("a","b")將得到[1,2,3,4,"a","b"]
這個和concact的區別就是concact不影響原來的數組而push就是在原來的數組中進行的操作。
var aValues= ["a","b","c"];
aValues.push("d","e");
alert(aValues.toString());//輸出的是a,b,c,d,e
alert(aValues.length);//輸出的是5

 

6.reverse()很有意思的方法,將數組中的元素反轉排列。
var aValues= ["a","b","c"];
aValues.reverse();
alert(aValues.toString());//輸出的是c,b,a

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章