アンダースコアのwhere
方法を試してください
_.where(listOfPlanets, {name: "Mars"});
次の惑星のリストがあるとします- prop
これは構成されたプロパティです
var listOfPlanets = [
{ name: 'Mercury', prop:1},
{ name: 'Venus', prop:2},
{ name: 'Earth', prop:3},
{ name: 'Mars', prop:4},
{ name: 'Jupiter', prop:5},
{ name: 'Saturn', prop:6},
{ name: 'Uranus', prop:7},
{ name: 'Neptune', prop:8} ];
火星のオブジェクトを取得するには、次のようにします。_.where
一致の配列を返すことに注意してください。インデックスへのアクセス0
または使用_.first
が必要になります
var mars = _.where(listOfPlanets, {name: "Mars"})[0];
console.log(mars.prop); // 4
Underscore にも_.find
メソッドがあり、最初の一致のみを取得するために使用できます
var mars = _.find(listOfPlanets, function(p){ return p.name === 'Mars' });
console.log(mars.prop); // 4
JSFiddleはこちら: http://jsfiddle.net/jaimem/6bxnK/1/