我有每个都有timestamp
字段的对象,包括日期时间,如
data1 --> "2014-06-26T11:06:19.315404+00:00"
data2 --> "2014-06-26T08:04:29.755019+00:00"
data3 --> "2014-06-26T08:03:51.008563+00:00"
使用 underscore.js i;尝试按时间戳字段对数据进行分组,例如
grp_data = _.groupBy(result, "timestamp")
预期结果:
{"2014-06-26": [data1, data2, data3] }
正在发生的事情是:
{"2014-06-26": [data1],
{"2014-06-26": [data2],
{"2014-06-26": [data3],
}
上述行为的原因是因为data1, data2, data3
的每个时间戳都不同,因为T11:06:19.315404+00:00"
附加在时间戳中。
这就是为什么数据不会被预期分组的原因。
有什么方法吗?
答案 0 :(得分:0)
将函数传递给提取日期部分的groupBy:
var result = [
{ id: 'data1', timestamp: "2014-06-26T11:06:19.315404+00:00" },
{ id: 'data2', timestamp: "2014-06-26T11:06:19.315404+00:00" },
{ id: 'data3', timestamp: "2014-06-26T11:06:19.315404+00:00" }
];
var extractDate = function(datum){
return datum.timestamp.substring(0,10);
}
var grp_data = _.groupBy(result, extractDate);