Сортировка массива объектов по дате в JavaScript
Опубликовано: 13 Декабря, 2021
Чтобы отсортировать массив объектов по дате, существует ряд методов, но мы увидим несколько наиболее предпочтительных методов.
Объект Date: объект Date в JavaScript используется для представления момента времени. Это значение времени с 1 января 1970 года по всемирному координированному времени (всемирное координированное время). Мы можем создать дату с помощью объекта Date, вызвав конструктор new Date (), как показано в синтаксисе ниже.
Синтаксис:
новая дата (); новая дата (значение); новая дата (dateString); новая дата (год, месяц, день, часы, минуты, секунды, миллисекунды);
Параметры:
- значение: Это значение представляет собой количество миллисекунд с 1 января 1970 г., 00:00:00 по всемирному координированному времени.
- dateString: представляет формат даты.
- год: представляет собой целое число в диапазоне от 1900 до 1999 года.
- месяц: он представлен целыми числами в диапазоне от 0 для января до 11 для декабря.
- день: необязательный параметр. Он представлен целым числом для дня месяца.
- часы: необязательный параметр. Он представлен целым числом для часа дня.
- минут: необязательный параметр. Он представлен целым числом в минуту.
- секунды: это необязательный параметр. Он представлен в виде целого числа секунд.
- миллисекунды: необязательный параметр. Он представлен целым числом миллисекунды времени.
Пример 1. В этом примере массив объектов сортируется по дате с помощью объекта Date.
<!DOCTYPE html> < html > < head > < title > JavaScript | Sort Object Array By Date </ title > </ head > < body style = "text-align:center;" > < h1 style = "color:green;" > GeeksForGeeks </ h1 > < button onclick = "geeks_outer()" > Click To Sort </ button > < p id = "GFG_P" style = "color:green;" ></ p > < script > var array = [{id: "1", date: "Mar 11 2012 10:00:00 AM"}, {id: "2", date: "Mar 8 2012 08:00:00 AM"}]; var el = document.getElementById("GFG_P"); function geeks_outer() { array.sort(function(a, b){ return new Date(a.date) - new Date(b.date); }); el.innerHTML = JSON.stringify(array); } </ script > </ body > </ html > |
Выход:
- Перед нажатием на кнопку:
- После нажатия на кнопку:
Пример 2: Этот пример аналогичен предыдущему, но с небольшими изменениями в функции сортировки.
<!DOCTYPE html> < html > < head > < title > JavaScript | Sort Object Array By Date. </ title > </ head > < body style = "text-align:center;" > < h1 style = "color:green;" > GeeksForGeeks </ h1 > < button onclick = "geeks_outer()" > Click To Sort </ button > < p id = "GFG_P" style = "color:green;" ></ p > <!-- Script to sort array of object by date --> < script > var array = [{id: "1", date: "Mar 12 2012 10:00:00 AM"}, {id: "2", date: "Mar 8 2012 08:00:00 AM"}]; var el = document.getElementById("GFG_P"); function geeks_outer() { array.sort(GFG_sortFunction); el.innerHTML = JSON.stringify(array); } function GFG_sortFunction(a, b) { var dateA = new Date(a.date).getTime(); var dateB = new Date(b.date).getTime(); return dateA > dateB ? 1 : -1; }; </ script > </ body > </ html > |
Выход:
- Перед нажатием на кнопку:
- После нажатия на кнопку: