JavaScript Array(陣列) 物件
#什麼是陣列?
陣列物件是使用單獨的變數名稱來儲存一系列的值。
如果你有一組資料(例如:車名),存在單獨變數如下所示:
var car1="Saab";
var car2="Volvo";var car3="BMW";
#然而,如果你想從中找出某一輛車?並且不是3輛,而是300輛呢?這將不是一件容易的事!
最好的方法就是用陣列。
陣列可以用一個變數名稱儲存所有的值,並且可以用變數名稱存取任何一個值。
陣列中的每個元素都有自己的ID,以便它可以很容易地被存取。
建立一個陣列
建立一個數組,有三種方法。
下面的程式碼定義了一個名為myCars的陣列物件:
1: 常規方式:
var myCars=new Array();
myCars[0 ]="Saab";myCars[1]="Volvo";
myCars[2]="BMW";2: 簡潔方式:#var myCars= new Array("Saab","Volvo","BMW");3: 字面上:var myCars=["Saab","Volvo","BMW"];存取陣列######透過指定陣列名稱以及索引號碼,你可以存取某個特定的元素。 ######以下實例可以存取myCars陣列的第一個值:######var name=myCars[0];######以下實例修改了陣列myCars 的第一個元素: ######myCars[0]="Opel";###################[0] 是數組的第一個元素。 [1] 是數組的第二個元素。 ######在一個陣列中你可以有不同的物件######所有的JavaScript變數都是物件。數組元素是對象。函數是物件。 ######因此,你可以在陣列中有不同的變數類型。 ######你可以在一個陣列中包含物件元素、函數、陣列:###myArray[0]=Date.now;
myArray[1]=myFunction;
myArray[2]=myCars;
陣列方法和屬性
使用陣列物件預先定義屬性與方法:
var x=myCars.length // myCars 中元素的數量
var y=myCars.indexOf("Volvo") // "Volvo" 值的索引值
<html> <meta charset="utf-8"> <body> <script type="text/javascript"> var mycars = new Array() mycars[0] = "Saab" mycars[1] = "Volvo" mycars[2] = "BMW" for (i=0;i<mycars.length;i++) { document.write(mycars[i] + "<br />") } </script> </body> </html>使用for...in 宣告來循環輸出陣列中的元素:
<html> <meta charset="utf-8"> <body> <script type="text/javascript"> var x var mycars = new Array() mycars[0] = "Saab" mycars[1] = "Volvo" mycars[2] = "BMW" for (x in mycars) { document.write(mycars[x] + "<br />") } </script> </body> </html>如何使用concat() 方法合併兩個陣列:
<html> <meta charset="utf-8"> <body> <script type="text/javascript"> var arr = new Array(3) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" var arr2 = new Array(3) arr2[0] = "James" arr2[1] = "Adrew" arr2[2] = "Martin" document.write(arr.concat(arr2)) </script> </body> </html>如何使用sort() 方法從字面上對陣列進行排序:
<html> <meta charset="utf-8"> <body> <script type="text/javascript"> var arr = new Array(6) arr[0] = "George" arr[1] = "John" arr[2] = "Thomas" arr[3] = "James" arr[4] = "Adrew" arr[5] = "Martin" document.write(arr + "<br />") document.write(arr.sort()) </script> </body> </html>如何使用sort() 方法從數值上對陣列進行排序:
<html> <meta charset="utf-8"> <body> <script type="text/javascript"> function sortNumber(a, b) { return a - b } var arr = new Array(6) arr[0] = "10" arr[1] = "5" arr[2] = "40" arr[3] = "25" arr[4] = "1000" arr[5] = "1" document.write(arr + "<br />") document.write(arr.sort(sortNumber)) </script> </body> </html>