有兩種方式可以建立陣列,第一種是利用陣列的字面常數,也就是中括弧圍起來的內容,裡頭用逗號分開每個元素
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
沒有留言:
張貼留言