Backbone.js 如何获取集合中符合特定条件的项目计数?
我有这样的收藏:Backbone.js 如何获取集合中符合特定条件的项目计数?,backbone.js,underscore.js,Backbone.js,Underscore.js,我有这样的收藏: { "items": [ { "id": "123", "meta": { "activity": 2 } }, { "id": "13423", "meta": { "activity": 4 } } ]} 给定集合,如何获取集合的总活动?在上述情况下,结果为6 我使用的是主干线和下划线。在下划线中,您可以使用函数,该函数将使用给定的迭代器函数将值列表
{ "items": [
{
"id": "123",
"meta": {
"activity": 2
}
},
{
"id": "13423",
"meta": {
"activity": 4
}
}
]}
给定集合,如何获取集合的总活动?在上述情况下,结果为6
我使用的是主干线和下划线。在下划线中,您可以使用函数,该函数将使用给定的迭代器函数将值列表缩减为单个值
var myCollection = { "items": [
{
"id": "123",
"meta": {
"activity": 2
}
},
{
"id": "13423",
"meta": {
"activity": 4
}
}
]};
var totalActivity = _.reduce(myCollection.items, function(memo, item){ return memo + item.meta.activity; }, 0);
您使用的是下划线.js,因此您可以使用一些好的工具。请查看以开始
var flatArray = _.map(collection.items, function(x){return x.meta.activity;});
// should return: [2,4]
然后可以使用将其转换为单个值
var total = _.reduce(flatArray, function(memo, num) {return memo + num;}, 0);
// should return: 6
在underline.js中还有很多其他很棒的工具,值得一看,看看是否还有其他适合您的工具