これは動作しますが、信じられないほど不器用なようです。問題のメソッドはstreetsInObjであり、objはstreets.allに対応するキー "p"、 "f"、 "t"、 "r"を持つことができるオブジェクトです。だから私はオブジェクトに存在するすべての通りを返そうとしているだけです。唯一の4通りで問題ないはずオブジェクトのサブセットを返すより効率的な方法がありますか?
return _.filter(self.all, function(s) {
return s.abbrev in obj;
});
:何について
define(['underscore'], function (_) {
var streets = {
all: [
{abbrev: "p", name: "Preflop"},
{abbrev: "f", name: "Flop"},
{abbrev: "t", name: "Turn"},
{abbrev: "r", name: "River"}
],
streetsInObj: function(obj) {
self.obj = obj;
streets = [];
_.map(self.all, function(street, obj) {
if(self.obj[street.abbrev]) {
streets.push(street);
}
});
return streets;
}
};
var self = streets;
return self;
});