Я пытаюсь отсортировать массив дат ISO.
arr = ["2019-12-30T00:00:00.000Z", "2020-01-06T00:00:00.000Z", "2020-01-13T00:00:00.000Z", "2020-01-20T00:00:00.000Z", "2020-01-27T00:00:00.000Z", "2020-02-03T00:00:00.000Z", "2020-02-10T00:00:00.000Z", "2020-02-17T00:00:00.000Z", "2020-02-24T00:00:00.000Z", "2020-03-02T00:00:00.000Z", "2020-03-09T00:00:00.000Z", "2020-03-16T00:00:00.000Z", "2020-03-23T00:00:00.000Z", "2020-03-30T00:00:00.000Z", "2020-04-06T00:00:00.000Z", "2020-04-13T00:00:00.000Z", "2020-04-20T00:00:00.000Z", "2020-04-27T00:00:00.000Z", "2020-05-04T00:00:00.000Z"]
Я пытаюсь отсортировать сгруппированные данные, используя:
for (a in get_grouped) {
cat.forEach(t => {
if (!get_grouped[a].some(v => v.type == t)) {
get_grouped[a].push({
"date": get_grouped[a][0].date,
"metric": 0,
"type": t
});
}
});
get_grouped[a].sort((a, b) => arr.indexOf(a.date)-arr.indexOf(b.date));
}
get_grouped:
(3) [{…}, {…}, {…}]
0: {date: "2020-01-01", metric: 32, type: "Google"}
1: {date: "2020-01-01", metric: 24, type: "Bing"}
2: {date: "2020-01-01", metric: 0, type: "Jeeves"}
length: 3
__proto__: Array(0)
(index):98
(3) [{…}, {…}, {…}]
0: {date: "2020-01-02", metric: 1, type: "Google"}
1: {date: "2020-01-02", metric: 0, type: "Bing"}
2: {date: "2020-01-02", metric: 32, type: "Jeeves"}
length: 3
__proto__: Array(0)
(index):98
(3) [{…}, {…}, {…}]
0: {date: "2020-01-03", metric: 30, type: "Google"}
1: {date: "2020-01-03", metric: 24, type: "Bing"}
2: {date: "2020-01-03", metric: 0, type: "Jeeves"}
Эта сортировка отлично работает с cat
- это массив струны. Как мне отсортировать его, если это массив дат ISO, как я показал выше? Как это сделать с помощью Moment JS?