Ordenar una matriz de objetos por clave de fecha usando JavaScript
Ordenar una matriz de objetos según una clave con valor de fecha específica es una tarea común en programación JavaScript. En este caso, necesitamos ordenar una matriz de objetos por la clave 'updated_at', que representa una fecha y hora.
La forma más eficiente de lograr esto es usar el método Array.sort() en combinación con una función de comparación. La función de comparación toma dos objetos como entrada y devuelve un valor que determina el orden de los objetos.
Así es como puedes hacerlo:
const objects = [{
"updated_at": "2012-01-01T06:25:24Z",
"foo": "bar"
},
{
"updated_at": "2012-01-09T11:25:13Z",
"foo": "bar"
},
{
"updated_at": "2012-01-05T04:13:24Z",
"foo": "bar"
}];
// Convert the 'updated_at' strings to JavaScript Date objects
for (let i = 0; i < objects.length; i ) {
objects[i].updated_at = new Date(objects[i].updated_at);
}
// Sort the objects based on the 'updated_at' dates
objects.sort((a, b) => {
return a.updated_at - b.updated_at;
});
console.log(objects);
En este código, primero convertimos las cadenas 'updated_at' en objetos de fecha de JavaScript para garantizar tipos de datos consistentes. Luego, usamos el método sort() con una función de comparación que resta los valores 'updated_at' de dos objetos y devuelve el resultado. Este resultado determina el orden de clasificación: si el resultado es negativo, el primer objeto viene antes que el segundo; si es positivo, el segundo objeto viene primero; si es cero, los objetos permanecen en su orden original.
El resultado final es una matriz ordenada de objetos, con los valores clave 'updated_at' en orden cronológico ascendente.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3