在Meteor中使用地图功能后,我无法确定排序需要居住的位置。我希望能够获得返回的结果并按升序显示它们。 Meteor API文档对排序说明符有点了解。
Template.foodList.helpers({
foodCounts: function() {
return _.map(_.countBy(Foods.find().fetch(), 'text'), function(value, key){
return {text: key, count: value};
});
}
});
答案 0 :(得分:1)
当_.countBy
操纵数据的顺序时,您希望在此之后进行排序。可能最好在_.map
之后进行排序。
Template.foodList.helpers({
foodCounts: function() {
var data = _.map(_.countBy(Foods.find().fetch(), 'text'), function(value, key){
return {text: key, count: value};
});
// sort by `text` field
return _.sortBy(data, function(datum){
return datum.text.toLowerCase();
});
}
});
OR
Template.foodList.helpers({
foodCounts: function() {
var data = _.map(_.countBy(Foods.find().fetch(), 'text'), function(value, key){
return {text: key, count: value};
});
// sort by count
return _.sortBy(data, function(datum){
return datum.count;
});
}
});
答案 1 :(得分:1)
这是一个简短但使用下划线和链接的解决方案:
Template.foodList.helpers({
foodCounts: function() {
return _.chain(Foods.find().fetch())
.countBy('text')
.map(function(v, k) {return {text: k, count: v};})
.sortBy('count')
.value();
}
});