Зачастую при работе с JavaScript возникает необходимость сортировки массива объектов по определенному свойству. Например, взгляните на следующий массив объектов:
var array = [ {id: 1, date: 'Mar 12 2012 10:00:00 AM'}, {id: 2, date: 'Mar 8 2012 08:00:00 AM'} ];
Он содержит два объекта, каждый из которых имеет свойства id
и date
. Предположим, что требуется отсортировать этот массив по свойству date
в порядке убывания, то есть от самой новой даты к самой старой.
В JavaScript для сортировки массива используется метод Array.prototype.sort()
. Этот метод принимает функцию сравнения в качестве аргумента, которую можно использовать для определения порядка сортировки.
Для сортировки массива объектов по дате можно использовать следующую функцию сравнения:
function compare(a, b) { var dateA = new Date(a.date); var dateB = new Date(b.date); return dateB - dateA; }
Эта функция преобразует строки дат в объекты Date
и затем возвращает разницу между ними.
Итак, для сортировки массива по дате, можно вызвать метод sort()
с этой функцией сравнения:
array.sort(compare);
После выполнения этого кода массив будет отсортирован по дате в порядке убывания.
Это общий подход к сортировке массива объектов в JavaScript. Он может быть использован для сортировки по любому свойству объекта, которое может быть преобразовано в число или строку.
Добавить комментарий