這有效,但似乎令人難以置信的笨拙。有問題的方法是streetsInObj,而obj是可以具有與「streets.all」相對應的鍵「p」,「f」,「t」,「r」的對象。所以我只是試圖返回對象中存在的所有街道。是否有更有效的方法來查找返回對象的子集?
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;
});