var a_list = new Array("Thomas", "Roger", "Amber", "Jennifer" );
或更簡潔
var a_list = ["Thomas", "Roger", "Amber", "Jennifer" ];
<html> <body> <script language="JavaScript"> <!-- var a_list = new Array("Thomas", "Roger", "Amber", "Jennifer" ); document.write("The tallest student in class is " + a_list[0]); //--> </script> </body> </html>
var a_list = new Array(4); a_list[2] = "Amber";
var a_list = new Array(4); a_list[0] = "Thomas"; a_list[1] = "Roger"; a_list[2] = "Amber"; a_list[3] = "Jennifer";
var a_list = new Array(); ... a_list[29] = "Amber";
<script language="JavaScript"> <!-- var a_list = new Array(4); window.alert(a_list.constructor); //--> </script>
var a_list = new Array(4); a_list[0] = "Thomas"; a_list[1] = "Roger"; a_list[2] = "Amber"; a_list[3] = "Jennifer"; window.alert("This array has " + a_list.length);
<script language="JavaScript"> <!-- Array.prototype.attitude = "cool"; var a_list = new Array(4); window.alert("This place is " + a_list.attitude); //--> </script>透過加入屬性的方式, 每個網頁上的陣列都有這個新屬性, 例如
<script language="JavaScript"> <!-- Array.prototype.attitude = "cool"; var a_list = new Array(); window.alert("This place is " + a_list.attitude); var fish = new Array(); fish.attitude = "wide eyed"; window.alert("Fish are " + fish.attitude); //--> </script>
<script language="JavaScript"> <!-- var fruits = new Array("oranges", "apples"); var veggies = new Array("corn", "peas"); var fruits_and_veggies = fruits.concat(veggies); //--> </script>
arr.join([separator])separator 用來隔開陣列中每個元素的字串。如果未傳入此參數,陣列中的元素將預設用英文逗號(「,」)隔開。如果 separator 是空字串,合併後,元素間不會有任何字元。 一個合併所有陣列元素的字串。假如 arr.length 為 0,將回傳空字串。
<html> <body> <script language="JavaScript"> <!-- var fruits = new Array("oranges", "apples", "peas"); var fruits_string = fruits.join(); document.write("The new fruit string is " + fruits_string); //--> </script> </body> </html>
假如要用其他字元來分隔元素, 可以在參數中規定, 如
<html> <body> <script language="JavaScript"> <!-- var fruits = new Array("oranges", "apples", "peas"); var fruits_string = fruits.join(":"); document.write("The new fruit string is " + fruits_string); //--> </script> </body> </html>
<script language="JavaScript"> <!-- var fruits = new Array("oranges", "apples", "pears"); var picked_fruit = fruits.pop(); document.write("You picked my " + picked_fruit); //--> </script>
<script language="JavaScript"> <!-- var fruits = new Array("oranges", "apples"); var who_knows = fruits.push("pears", "grapes"); document.write("The method returned " + who_knows); document.write("The fruits now are " + fruits.join()); //--> </script>
var fruits = new Array("oranges", "apples", "pears"); fruits.reverse();
<script language="JavaScript"> <!-- var fruits = new Array("oranges", "apples", "pears"); var picked_fruit = fruits.shift(); window.alert("You picked my " + picked_fruit); //--> </script>
var fruits = new Array("oranges", "apples"); fruits.unshift("pears", "grapes");
begin 為開始的索引值,負數代表從後面開始算起,-1為倒數第一個元素。 end 為結束的索引值,沒有填寫時則得到原陣列中的所有元素。
var fruits = new Array("oranges", "apples", "pears", "grapes"); var some_fruits = fruits.slice(1,3);
array.splice(start) array.splice(start, deleteCount) array.splice(start, deleteCount, item1, item2, ...)
start 增加/刪除項目的位置,負數代表從後方算起。
deleteCount 刪除的個數,如為0則不會刪除。
item… 添加的新項目。
會改變原值
var fruits = new Array("oranges", "apples", "pears", "grapes"); var some_fruits = fruits.splice(2,1);
var fruits = new Array("oranges", "apples", "pears", "grapes"); var some_fruits = fruits.splice(2,2);
var fruits = new Array("oranges", "apples", "pears", "grapes"); var some_fruits = fruits.splice(2,1, "watermelons");
var fruits = new Array("oranges", "apples", "pears", "grapes"); var some_fruits = fruits.splice(2,0, "watermelons", "plums");
var fruits = new Array("oranges", "apples", "pears", "grapes"); fruits.sort();
<script language="JavaScript"> <!-- var a_list = new Array(4); for(count=0; count<4; count++) { a_list[count]=window.prompt("Enter a name",""); } //--> </script>迴圈的另一用法是重覆對陣列元素運算, 例如
<script language="JavaScript"> <!-- var even_nums = new Array(10); for(count=0; count<20; count+=2) { var a_count=0; even_nums[a_count]=count+2; document.write(even_nums[a_count] + "
"); a_count+=1; } //--> </script>
或使用 forEach()和callback函式,改寫如下:
<script language=<font color="#008000">"JavaScript"</font>> <!-- var even_nums = [2,5,6,8]; document.write("Input: " + even_nums); even_nums.forEach(function (value, index, array) { array[index] += 2; }); document.write("<p>Output: " + even_nums); //--> </script>若要保持原陣列不變,可使用其他陣列處理方法的map()。
<html> <head> <script language="JavaScript"> <!-- var a_list = new Array(4); a_list[0] = "Thomas"; a_list[1] = "Roger"; a_list[2] = "Amber"; a_list[3] = "Jennifer"; //--> </script> </head> <body> <script language="JavaScript"> <!-- for(count=0; count<4; count++) { document.write(a_list[count] + "<br>"); } //--> </script> </body> </html>假如陣列的長度不是固定的, 迴圈的終止測試可利用陣列的 length 屬性, 例如
<html> <head> <script language="JavaScript"> <!-- var a_list = new Array(); a_list[0] = "Thomas"; a_list[1] = "Roger"; a_list[2] = "Amber"; a_list[3] = "Jennifer"; a_list[4] = "Pat"; a_list[5] = "Kelly"; a_list[6] = "Jerry"; // a_list.sort(); //--> </script> </head> <body> <script language="JavaScript"> <!-- for(count=0; count<a_list.length; count++) { document.write(a_list[count] + "<br>"); } //--> </script> </body> </html>
var a_list = new Array(); a_list["tall"] = "Thomas"; a_list["cool"] = "Roger"; a_list["clever"] = "Amber"; a_list["attentive"] = "Jennifer";
<html> <head> <script language="JavaScript"> <!-- var a_list = new Array(); a_list["tall"] = "Thomas"; a_list["cool"] = "Roger"; a_list["clever"] = "Amber"; a_list["attentive"] = "Jennifer"; //--> </script> </head> <body> <h2>Student Names</h2> <script language="JavaScript"> <!-- document.write("The tall one is " + a_list["tall"] + "<br>"); document.write("The cool one is " + a_list["cool"] + "<br>"); document.write("The clever one is " + a_list["clever"] + "<br>"); document.write("The attentive one is " + a_list["attentive"] + "<br>"); //--> </script> </body> </html>