#django #underscore.js
#django #underscore.js
Вопрос:
у меня есть объекты, каждый из которых имеет 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 я пытаюсь сгруппировать данные по полю метки времени, например
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"
того, что добавляется в метку времени.
вот почему данные не сгруппированы ожидаемым образом.
Есть ли какой-либо способ обойти это?
Ответ №1:
Передайте функцию 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);