ifilter

よく分かんないので、コードを読む。

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) })