原型 - 陣列處理
Prototype 為所有原生 JavaScript 陣列擴充套件了相當多的強大方法。
這是透過兩種方式實現的:
它混合了 Enumerable 模組,該模組已經引入了大量方法。
它還添加了一些額外的功能,在本節中進行了介紹。
使用迭代器
Prototype 提供的一個重要支援是,你可以在 JavaScript 中使用類似 Java 的迭代器。請看下面的區別:
傳統的 **for** 迴圈編寫方式:
for (var index = 0; index < myArray.length; ++index) {
var item = myArray[index];
// Your code working on item here...
}
如果你使用 Prototype,則可以將上述程式碼替換為:
myArray.each(function(item) {
// Your code working on item here...
});
以下是所有函式的列表,以及處理陣列的示例。
Prototype 陣列方法
**注意** - 請確保你使用的是 1.6 版本的 prototype.js。
| 序號 | 方法及說明 |
|---|---|
| 1. | clear()
清除陣列(使其為空)。 |
| 2. | clone()
返回陣列的副本,原始陣列保持不變。 |
| 3. | compact()
返回陣列的新版本,不包含任何 null/undefined 值。 |
| 4. | each()
按升序數值索引順序迭代陣列。 |
| 5. | first()
返回陣列中的第一項,如果陣列為空則返回 undefined。 |
| 6. | flatten()
返回陣列的“扁平化”(一維)版本。 |
| 7. | from()
克隆現有陣列或從類似陣列的集合建立新陣列。 |
| 8. | indexOf()
返回引數在陣列中第一次出現的索引。 |
| 9. | inspect()
返回陣列的用於除錯的字串表示。 |
| 10. | last()
返回陣列中的最後一項,如果陣列為空則返回 undefined。 |
| 11. | reduce()
減少陣列:單元素陣列轉換為其唯一元素,而多元素陣列則保持不變。 |
| 12. | reverse()
返回陣列的反轉版本。預設情況下,直接反轉原始陣列。如果 inline 設定為 false,則使用原始陣列的副本。 |
| 13. | size()
返回陣列的大小。 |
| 14. | toArray()
這只是從 Enumerable 混合而來的 toArray 的區域性最佳化。 |
| 15. | toJSON()
返回一個 JSON 字串。 |
| 16. | uniq()
生成陣列的無重複版本。如果未找到重複項,則返回原始陣列。 |
| 17. | without()
生成不包含任何指定值的新陣列版本。 |
廣告