繁体   English   中英

按最大值对对象数组 Javascript 进行排序

[英]Sort Javascript array of objects by greatest value

我有一个对象数组,其中 object 看起来像这样:

{
    "id": "d630baff-0caf-4c9a-88a2-fc4c99fab2a4",
    "created": "2021-01-24 20:27:28",
    "last_updated": "2021-01-20 13:17:44"
}

我想根据createdlast_updated中最大的值进行排序。 我可以通过查询ORDER BY GREATEST(created, last_updated) DESC在 SQL 中执行此操作,但是如何在 Javascript 中实现此目的? 我试过做objs.sort((a, b) => (a.created > b.last_updated)? 1: -1)但它不会导致正确的顺序。

您可以 select 更大的ISO 8601日期

 const greatest = (a, b) => a >= b? a: b, object = { id: "d630baff-0caf-4c9a-88a2-fc4c99fab2a4", created: "2021-01-24 20:27:28", last_updated: "2021-01-20 13:17:44" } console.log(greatest(object.created, object.last_updated));

然后排序

array.sort((a, b) => greatest(a.created, a.last_updated)
    .localeCompare(greatest(b.created, b.last_updated)
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM