3 ms·
The workaround in the article was: var thingsGroupedById = _.groupBy(things, function(t){ return 'seller' + t.sellerId }); // { seller1: [...
by joeframbach 12y ago
The workaround in the article was:
var thingsGroupedById = _.groupBy(things, function(t){
return 'seller' + t.sellerId
});
// { seller1: [...], seller2: [...] }
But I actually would have failed this in code review:
_.map(thingsGroupedById, function (things) {
// ...
});
and replaced it with:
_.map(_.keys(thingsGroupedById), function (thingKey) {
var thing = thingsGroupedById[thingKey];
// ...
});
because although mapping over objects is "normal", it has never been 100%.
- gadr90 12y agoThis interests me very much. Are there known problems about mapping over objects? What do you mean it has never been 100%? Thanks!
- ewang1 12y agoThe latest version of underscore has a _.mapObject function.
- wging 12y agoWhy not instead do _.map(_.values(thingsGroupedById), function(thing) { // operate on thing } Then there's no need to do the property access yourself. Chaining makes this even nicer: _(thingsGroupedById).values().map(function(thing) { }
- deleted 12y ago[deleted]
- dandelany 12y agoDepends on what //... is. You might need the key for something, and you can get the value from the key but not vice versa.