字串,數值,布林值都屬於離散值(scalar),如果某個變數是離散的,那麼任何時候它只有一個值。
如果想使用變數儲存一組值,就需要使用陣列(array)。
陣列是由多個名稱相同的樹值構成的集合,集合中每個陣列都是陣列的元素(element),可以使用變數team儲存團隊裡每個成員的名字。
在JavaScript中,陣列使用關鍵字 Array聲明創建,同事也可以聲明變數的長度length。例如
var aTeam = new Array(12);//宣告變數的長度
在無法預知數組的最終個數時,聲明數組可以不指定具體個數。例如:
var aTeam = new Array();//陣列最終個數未知的情況下,可以不宣告具體的個數
aTeam[0] = 1414;
aTeam[1] = "北京";
aTeam[2] = 0x4;
aTeam[3] = "i can";
aTeam[4] = "red";
aTeam[5] = "blue";
aTeam[6] = "orange";
另外,可以直接建立陣列
var aTeam = new Array("111","blue","red","beijing");
同字串一樣,陣列也可以使用length來取得和指定陣列的長度。
var aTeam = new Array("111","blue","red","beijing" );
document.write(aTeam[1] "
");
document.write(aTeam.length "
")
令注:能更深刻的理解數組。
var aTeam = new Array("111","blue","red","beijing" );
aTeam[20] = "12415"
document.write(aTeam[20] "
");
document.write(aTeam.length "
")
另外, 陣列還可以用[ ]來定義。中間使用逗號隔開。
sTeam = [10,"5565","北京",33263,"red"]
document.write(sTeam[3]) //輸出 33263
陣列可以使用toString()方便的轉換
sTeam = [10,"5565","pking",33263,"red"]
document.write(sTeam.toString()) //
//輸出結果 10,5565,pking,33263,red
document.write(typeof(ss));
//輸出結果 string
如果陣列轉換為字串不想使用逗號連接 ,則可使用join()方法。
sTeam = [10,"5565","pking",33263,"red"]
ss = sTeam.join("-");
dd =sTeam.join("][")
//輸出結果 10,5565,pking,33263,red
document.write(ss);
document.write(dd);
//輸出 10-5565-pking-33263-red 10][5565][pking][33263][red
對於字串,JavaScript使用split()轉換為數組
var fruit = "apple,2151,orange";
sfruit = fruit.split(",")
document.write(sfruit); //輸出 apple,2151,orange
document.write(sfruit.join("-")); //輸出apple-2151-orange
接上例,javascript提供了reverse()方法使陣列反轉。
var fruit = "apple,2151,orange";
sfruit = fruit.split(",")
document.write(sfruit); //輸出 apple,2151,orange
document.write(sfruit.join("-") "
"); //輸出apple-2151-orange
document.write(sfruit.reverse() "
");輸出 orange,2151,apple
document.write(sfruit.reverse().toString() "
");輸出apple,2151,orange
對於字串反轉,javascript沒有直接的轉換方法,我們可以利用split()將字串轉為數組,利用rerverse()進行反轉,再利用join進行連接,達到字串反轉。
var fruit = "2151,orange,apple";
var sfruit = "iambeijing123";
document.write(fruit.split(",").reverse() "
");//2151,orange,apple
document.write(sfruit.split("").reverse().join("") "
");//輸出iambeijing123
利用sort()可以讓陣列元素進行(字母順序)排序。
fruit = ["orange2","2151","orange","apple"]
document.write(fruit.sort());//輸出結果2151,apple,orange,orange2
關於push()和pop()的用法
sfruit = new Array();
sfruit.push("red");
sfruit.push("green");
sfruit.push("oragen");
sfruit.push("blue");
document.write(sfruit.length sfruit.toString() "
");
var wfruit = sfruit.pop();
document.write(wfruit "
")
document.write(sfruit.toString())
如上,javascript將陣列看成了一個堆疊,透過push()和pop()進行壓棧和出棧處理。