Ordenar una array de objetos por fecha en JavaScript

Para ordenar una array de objetos por fecha, hay varios métodos, pero veremos algunos de los métodos preferidos.

Objeto de fecha: el objeto de fecha en JavaScript se usa para representar un momento de tiempo. Este valor de tiempo es desde el 1 de enero de 1970 UTC (Tiempo Universal Coordinado). Podemos crear una fecha usando el objeto Date llamando al nuevo constructor Date() como se muestra en la siguiente sintaxis.
Sintaxis:

new Date();
new Date(value);
new Date(dateString);
new Date(year, month, day, hours, minutes, seconds, milliseconds);

Parámetros:

  • valor: Este valor es el número de milisegundos desde el 1 de enero de 1970, 00:00:00 UTC.
  • dateString: Representa un formato de fecha.
  • año: Representa los valores enteros que van desde los años 1900 hasta 1999.
  • mes: Está representado por valores enteros que van desde 0 para enero hasta 11 para diciembre.
  • día: Es un parámetro opcional. Se representa por un valor entero para el día del mes.
  • horas: Es un parámetro opcional. Se representa mediante un valor entero para la hora del día.
  • Minutos: Es un parámetro opcional. Se representa por un valor entero para el minuto de una hora.
  • segundos: Es un parámetro opcional. Se representa por un valor entero para el segundo de una vez.
  • milisegundos: Es un parámetro opcional. Se representa por un valor entero para el milisegundo de un tiempo.

Ejemplo 1: este ejemplo ordena la array de objetos por fecha utilizando el objeto Fecha .

<!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>                    

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Ejemplo 2: Este ejemplo es igual al anterior pero con una pequeña modificación en la función de clasificación.

<!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>                    

Producción:

  • Antes de hacer clic en el botón:
  • Después de hacer clic en el botón:

Publicación traducida automáticamente

Artículo escrito por PranchalKatiyar y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *