Ordenar por fecha en JavaScript

Shraddha Paghdar 12 octubre 2023
Ordenar por fecha en JavaScript

Ordenar significa organizar los datos en orden ascendente o descendente de acuerdo con una relación lineal entre los elementos de datos. La clasificación se puede realizar por nombre, número, fecha y tipo de entrada.

En la publicación de hoy, aprenderemos a ordenar por fecha en orden ascendente o descendente en JavaScript.

Ordenar por fecha en JavaScript

Hay varios tipos de algoritmos de clasificación en la estructura de datos. Algunos de estos algoritmos son:

  1. Ordenar inserción
  2. Clasificación por combinación
  3. Clasificación rápida
  4. Clasificación de raíz
  5. Ordenar montones
  6. Clasificación de selección
  7. Clasificación de burbujas

JavaScript proporciona un método incorporado sort() que ordena los elementos de una matriz y devuelve la matriz ordenada. El orden de clasificación predeterminado es ascendente.

Puede escribir la función si desea ordenar en orden descendente. Este método convierte elementos en cadenas y compara sus secuencias de valores de unidad de código UTF16.

Sintaxis:

sort()
sort((a, b) => {/* write logic here */})
sort(compareFunction)
sort(function compareFunction(a, b) { /* write logic here */ })

El método sort() toma 2 argumentos: a y b.

CompareFunction es un parámetro opcional. Esto especifica una función que define el orden de clasificación.

Si no se pasa, los elementos de la matriz se convierten en cadenas y se ordenan según el valor de punto Unicode de cada carácter. Si se especifica esta función, de manera predeterminada, toma 2 elementos de matriz de entrada, que deben compararse entre sí.

Esta función muta la matriz original y no se realiza ninguna copia.

Puede obtener más información sobre el método sort() aquí.

Vamos a crear un ejemplo comparando fechas en orden ascendente y descendente.

Ejemplo:

const datesArray1 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const datesArray2 = ['2022-03-14', '2022-04-14', '2022-01-14'];
const ascDates = datesArray1.sort((a, b) => {
  return new Date(a).getTime() - new Date(b).getTime();
});
const descDates = datesArray2.sort((a, b) => {
  return new Date(b).getTime() - new Date(a).getTime();
});
console.log(ascDates);
console.log(descDates);

En el ejemplo, hemos definido tres fechas. En la función de comparación, primero convertimos la fecha de la cadena en un objeto de fecha y luego calculamos la cantidad de milisegundos desde la época.

Intente ejecutar el ejemplo anterior en cualquier navegador. Imprimirá el siguiente resultado.

Producción :

["2022-01-14", "2022-03-14", "2022-04-14"]
["2022-04-14", "2022-03-14", "2022-01-14"]

También puede acceder al código completo en este ejemplo aquí.

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Artículo relacionado - JavaScript Sort