이 작동하지만 엄청나게 어색해 보입니다. 해당 메서드는 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;
});