よく分かんないので、コードを読む。
function (pred, seq) { var m = MochiKit.Base; seq = MochiKit.Iter.iter(seq); if (pred === null) { pred = m.operator.truth; } return {repr:function () { return "ifilter(...)"; }, toString:m.forwardCall("repr"), next:function () { while (true) { var rval = seq.next(); if (pred(rval)) { return rval; } } return undefined; }}; }
つまり、イテレータのフィルターか。
Rubyの「select」みたいだけど、配列じゃなくて、イテレータを返す…と。
こんなかんじか…
forEach(ifilter(function(i) { return i > 2 }, [1, 2, 3, 4, 5]), function(i) { print(i) })