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:
- Ordenar inserción
- Clasificación por combinación
- Clasificación rápida
- Clasificación de raíz
- Ordenar montones
- Clasificación de selección
- 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 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