Javascript 使用下划线group by构造数组
我有一个如下格式的数组Javascript 使用下划线group by构造数组,javascript,arrays,backbone.js,underscore.js,Javascript,Arrays,Backbone.js,Underscore.js,我有一个如下格式的数组 [ { "duedate": "15-feb-2014", "alias": "electronus", "agent": "anonymous", "name": "" }, { "duedate": "15-feb-2014", "alias": "luminous", "agent": "anonymous", "name": "" }, { "duedate": "16-feb-2014",
[
{
"duedate": "15-feb-2014",
"alias": "electronus",
"agent": "anonymous",
"name": ""
},
{
"duedate": "15-feb-2014",
"alias": "luminous",
"agent": "anonymous",
"name": ""
},
{
"duedate": "16-feb-2014",
"alias": "GSM",
"agent": "anonymous",
"name": ""
}
]
下划线group by方法允许我使用属性和到期日期对数组进行分组。这将返回如下数组
{
"15-Feb-2014": [
{
"duedate": "15-feb-2014",
"alias": "electronus",
"agent": "anonymous",
"name": ""
},
{
"duedate": "15-feb-2014",
"alias": "luminous",
"agent": "anonymous",
"name": ""
}
],
"16-Feb-2014": [
{
"duedate": "16-feb-2014",
"alias": "GSM",
"agent": "anonymous",
"name": ""
}
]
}
我是否有可能拥有这样一个数组:
[
{
"duedate": "15-feb-2014",
"myValues": [
{
"duedate": "15-feb-2014",
"alias": "electronus",
"agent": "anonymous",
"name": ""
},
{
"duedate": "15-feb-2014",
"alias": "luminous",
"agent": "anonymous",
"name": ""
}
]
},
{
"duedate": "16-feb-2014",
"myValues": [
{
"duedate": "16-feb-2014",
"alias": "GSM",
"agent": "anonymous",
"name": ""
}
]
}
]
所以我可以在每个到期日内有多个数组值,这样我就可以解析它来填充一个我无法更改的模板
我已经为此奋斗了很长一段时间。任何帮助都将不胜感激。您只需在
groupBy()之后调用map()
var groupedArray = _.chain(list)
.groupBy(function (x) { return x.duedate })
.map(function (value, date) {
return {
duedate: date,
myValues: value
};
})
.value();
JS Fiddle:您只需在groupBy()之后调用map()
var groupedArray = _.chain(list)
.groupBy(function (x) { return x.duedate })
.map(function (value, date) {
return {
duedate: date,
myValues: value
};
})
.value();
JS Fiddle:一定有办法,你能把你的代码展示给我们吗?一定有办法,你能把你的代码展示给我们吗?很乐意帮忙。这真是一个有趣的游戏!很乐意帮忙。这真是一个有趣的游戏!