ikemonn's blog

技術ネタをちょこちょこと

【Underscore.js】_.partitionを読んだ

jashkenas/underscore_.partitionを読んだ。

概要

_.partition(array, predicate) 

listをpredicateを満たすものと満たさないものの2つ配列に分割して返す。

var list = [1, 10, 7, 190, 43];var x = _.partition(list, function(num) { return num % 2 === 0;});
console.log(x); // [[10, 190], [1, 7, 43]]

ソースコード

_.partition = function(obj, predicate, context) {
    predicate = cb(predicate, context);
    var pass = [], fail = [];
    _.each(obj, function(value, key, obj) {
      (predicate(value, key, obj) ? pass : fail).push(value);
    });
    return [pass, fail];
  };

predicateを満たすものと満たさないものを配列にpushして返す。

参考

jashkenas/underscore