filter() | Underscore JS 日本語リファレンス

第1引数「配列(Object)」の値の中で第2引数の関数の条件を満たしている値のみの配列を返す。

■使用例

var arr = [1, 2, 3, 4, 5, 6];
var func = function( num ){ 
	return num % 2 == 0;
}
// [ 2, 4, 6 ]
var re = _.filter( arr, func );

■内部構造

  _.filter = _.select = function(obj, predicate, context) {
    var results = [ ];
    
// 第3引数が入力されていない、第2引数が関数ならそのまま。
    predicate = cb(predicate, context);
  
// objのそれぞれの値を関数で処理。条件を満たしている値のみ results に push される。
    _.each(obj, function(value, index, list) {
      if (predicate(value, index, list)) results.push(value);
    });
    
// 条件を満たしている値のみの配列が返される。 
    return results;
  };

このページのトップへ戻る