Метод Array.sort
принимает функцию сортировки, которая принимает два элемента в качестве аргументов и должна возвращать:
- <0, если первое меньше второго </li>
- 0, если первое равно второму
- > 0, если первое больше второго.
.
objectList.sort(function (a, b) {
var key1 = a.date;
var key2 = b.date;
if (key1 < key2) {
return -1;
} else if (key1 == key2) {
return 0;
} else {
return 1;
}
});
Вам повезло, что в указанном вами формате даты дата, предшествующая другой дате, также <
, чем дата при использовании сравнения строк. Если это не так, вам нужно сначала преобразовать строку в дату:
objectList.sort(function (a, b) {
var key1 = new Date(a.date);
var key2 = new Date(b.date);
if (key1 < key2) {
return -1;
} else if (key1 == key2) {
return 0;
} else {
return 1;
}
});