1. 程式人生 > 其它 >javaScript設計模式:迭代模式

javaScript設計模式:迭代模式

迭代模式的思想是必須有一個包含某種資料集合的容器,該資料集合可能儲存在一個複雜資料結構內部,需要提供一種簡單的能夠訪問資料結構中的每個元素。訪問者並不需要了解資料容器中如何組織資料,所需要的就是取出單個數據進行工作。

基於這樣的模式需求,首先需要一個容器,然後需要提供一個訪問資料元素的介面,並且這個訪問介面具備一個迭代邏輯。

同時為了更友好的放映迭代器的工作狀態,需要一個反饋迭代進度的工具,並且還要具備恢復整個迭代狀態的方法。

示例:

let agg = (function(){
    let index = 0,
        //資料容器
        data = [1,2,3,4,5],
        length 
= data.length; return { //迭代介面 next:function(){ let element; if(!this.hasNext){ return null; } element = data[index]; index = index + 2; return element; }, //迭代鎖 hasNext:function
(){ return index < length; }, //恢復迭代狀態的工具方法 rewind:function(){ index = 0; }, //反應迭代進度的工具 current:function(){ return data[index]; } } }());
——生命自會找到蓬勃之路。