
有兩種方式可以建立陣列,第一種是利用陣列的字面常數,也就是中括弧圍起來的內容,裡頭用逗號分開每個元素
var a1 = [0.321, "to", 22, "spoon", true];
如果中括弧裡面沒有放任何東西,就會建立一個空陣列,也就是沒有元素的陣列
var a2 = [];
另一種建立陣列的方式是用陣列的建構子 (constructor) ,這要用 new 關鍵字 (keyword) ,小括弧內用逗號區隔的為陣列元素
var a3 = new Array(0.321, "to", 22, "spoon", true);
上面 a1 與 a3 會得到具有相同內容的陣列。
存取陣列中的元素則是利用中括弧與元素索引值,例如
var a1 = [0.321, "to", 22, "spoon", true];
var i;
for (i in a1) {
document.write(a1[i] + "<br / >");
}for-in 迴圈 (loop) 中的 i 會依序取得 a1 的索引值,然後利用 a1[i] 取得每一個元素。
以下為陣列的常用方法 (method)
| 方法 | 描述 |
|---|---|
| toString() | 回傳物件的字串形式 |
| valueOf() | 回傳物件的數值 |
| concat([item1 [, item2 [, …]]]) | 連接各陣列 |
| join(separator) | 連接陣列中各個元素 |
| pop() | 移除陣列中最後一個元素,並回傳這個元素值 |
| push([item1 [, item2 [, …]]]) | 將新元素加入到陣列的最後面,並回傳陣列的新長度 |
| reverse() | 倒轉陣列元素的順序 |
| shift() | 移除陣列中第一個元素,並回傳這個元素值 |
| slice(start, end) | 拆解陣列,並回傳索引值範圍的子陣列 |
| sort(comparefn) | 排序陣列中的元素,可提供排序函數為參數 |
| splice(start, deleteCount [, item1[, item2[ , …]]]) | 加入或刪除元素 |
| unshift([item1 [, item2 [, …]]]) | 將新元素加入到陣列的最前面,並回傳陣列的新長度 |
陣列在 JavaScript 中很方便也很常用,我們舉一例如下
<html>
<head>
<title>Array Demo</title>
<script>
function run() {
var a = [];
var i;
for (i = 1; i < 101; i++) {
a.push(i);
}
var sum = 0;
for (i in a) {
sum += a[i];
}
var d = document.getElementById("display");
d.innerHTML = "1 + 2 + 3 + ... + 100 = " + sum;
}
</script>
</head>
<body onload="run()">
<div id="display"></div>
</body>
</html>
<!-- 《程式語言教學誌》的範例程式
http://pydoing.blogspot.com/
檔名:arraydemo.html
功能:示範 JavaScript 程式
作者:張凱慶
時間:西元 2012 年 12 月 -->瀏覽器開啟如下

此例的第一個 for 迴圈建立一個整數 1 到 100 的陣列,第二個 for-in 迴圈將陣列中的所有整數累加起來,最後將總和顯示在 id 屬性為 display 的 HTML 元素中。
現在來想想怎麼來建立密碼表,首先要先建立英文小寫字母表,很簡單,我們由字串 (string) 轉成陣列就行了
var alph = "abcdefghijklmnopqrstuvwxyz".split("", 26);字串的 split() 方法可將字串中的子字串轉化為陣列,第一個參數 (parameter) 為分隔符號,此利用空字串 "" ,因此用每個字母當子字串,第二個參數為陣列元素的數量。
這樣 alph 就會是一個英文小寫字母表的陣列。有了英文字母表,我們攪亂一下陣列裡頭元素的順序就是密碼表了,可是陣列沒有內建攪亂的方法說,這時候我們需要洗牌演算法 (algorithm) 囉!
| 中英文術語對照 | |
|---|---|
| 陣列 | array |
| 物件 | object |
| 資料型態 | data type |
| 建構子 | constructor |
| 迴圈 | loop |
| 方法 | method |
| 字串 | string |
| 參數 | parameter |
| 演算法 | algorithm |
您可以繼續參考
網頁軟體開發
相關目錄
回 JavaScript 入門指南
回 JavaScript 教材
回首頁
參考資料
https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Predefined_Core_Objects
http://www.w3schools.com/JS/js_obj_array.asp
http://www.tutorialspoint.com/javascript/javascript_arrays_object.htm
沒有留言:
張貼留言