【发布时间】:2012-02-17 11:31:19
【问题描述】:
我在将 Python 生成器转换为 Google Closure 迭代器时遇到了一些问题。
for n,nbrs in nodes_nbrs:
for nbr,data in nbrs.items():
yield (n, nbr, data)
我已经关注并卡在其中
var nodeNbrs = map(this.adj.getKeyIterator(), function(n) {
return [n, this.adj.get(n)]
});
var iter = new Iterator;
iter.next = function() {
// what do I do?
};
【问题讨论】:
-
我不知道 Python 但
goog.iter.toIterator可能是您要找的?var iter = goog.iter.toIterator(nodeNbrs);将为数组返回一个功能齐全的迭代器。 -
上面的代码迭代了一个列表的元素,这个列表本身就是另一个列表的元素。
nodeNbrs已经是一个可迭代对象。
标签: javascript iterator google-closure