だから私はアンダースコアでこれを行うためのより良い方法を考えようとしています:
state.attributes = _.reduce(list, function(memo, item){
memo['neighborhood'] = (memo['neighborhood'] || []);
var isNew = true;
_.each(memo['neighborhood'], function(hood){
if (hood.name === item.data.neighborhood) {
hood.count++; isNew=false;
}
});
if(isNew){
memo['neighborhood'].push({name:item.data.neighborhood, count:1});
}
return memo;
});
リストのさまざまな名前を一意の名前のリストに結合し、一意の名前がそれぞれ何回出現するかをカウントしたいと思います。アンダースコアが解決するように設計された問題とまったく同じように思えますが、私が考えることができる最善の解決策はエレガントではないようです。