Сортировка массива объектов по дате в 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 >

Выход:

  • Перед нажатием на кнопку:
  • После нажатия на кнопку: