javascript迭代器建议

时间:2014-07-23 18:41:32

标签: javascript iterator

我已经编写了这个函数来迭代数组,我正在寻找更好的意见。 提前谢谢。

var arrayIndexer = function (arr) {
    var index = 0;
        return {
            getNext: function(){ 
                index = index + 1
                return arr[index - 1];
            },
            hasNext: function(){ 
                return arr[index] !== undefined;
            }
        };  
};


var colorIndexer = arrayIndexer(["red","green","blue","orange","purple"]);

while(colorIndexer.hasNext()){
    console.log(colorIndexer.getNext());
}

1 个答案:

答案 0 :(得分:0)

这是我很少使用的一个很酷的技巧 - Yield关键字!

你所做的事情(无论可能是什么)可能有点过分,但如果你正在寻找意见,建议或其他选择,这可能值得探讨。快乐的编码!