Classificando uma matriz de objetos por chave de data usando JavaScript
Classificar uma matriz de objetos com base em uma chave com valor de data específica é uma tarefa comum em programação JavaScript. Neste caso, precisamos classificar um array de objetos pela chave 'updated_at', que representa uma data e hora.
A maneira mais eficiente de conseguir isso é usar o método Array.sort() em combinação com uma função de comparação. A função de comparação recebe dois objetos como entrada e retorna um valor que determina a ordem dos objetos.
Veja como você pode fazer isso:
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);
Neste código, primeiro convertemos as strings 'updated_at' em objetos JavaScript Date para garantir tipos de dados consistentes. Em seguida, usamos o método sort() com uma função de comparação que subtrai os valores ‘updated_at’ de dois objetos e retorna o resultado. Este resultado determina a ordem de classificação: se o resultado for negativo, o primeiro objeto vem antes do segundo; se positivo, o segundo objeto vem primeiro; se for zero, os objetos permanecem em sua ordem original.
O resultado final é uma matriz ordenada de objetos, com os valores-chave 'updated_at' em ordem cronológica crescente.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3