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

第1引数「配列」の値の中で第2引数「Object」のkeyと値を含んでる第1引数の値のみの配列を返す。

■使用例

var obj = [ 
    { 
        title : "Final Fantasy4 Original SoundTrack", 
        year : 1991, 
        author : "Nobuo Uematu"
    }, 
    { 
        title : "Final Fantasy5 Original SoundTrack", 
        year : 1992, 
        author : "Nobuo Uematu"
    }, 
    { 
        title : "Final Fantasy6 Original SoundTrack", 
        year : 1992, 
        author : "Nobuo Uematu"
    },
    { 
        title : "悪魔城ドラキュラX 月下の夜想曲", 
        year : 1992, 
        author : "Michiru Yamane"
    } 
];
var pre = { year : 1992 };

// [{"title":"Final Fantasy5 Original SoundTrack","year":1992,"author":"Nobuo Uematu"},
// {"title":"Final Fantasy6 Original SoundTrack","year":1992,"author":"Nobuo Uematu"},
// {"title":"悪魔城ドラキュラX 月下の夜想曲","year":1992,"author":"Michiru Yamane"}]
var re = _.where( obj, pre );

■内部構造

  _.where = function(obj, attrs) {
  	
// _.filter()にobjと_.matcher(同じプロパティと値があるかを判別する部分適用した関数)を渡す。
// 条件に該当するものだけの配列を返す。
    return _.filter(obj, _.matcher(attrs));
  };

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