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