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>