【发布时间】:2020-04-12 17:43:45
【问题描述】:
我正在尝试根据publishDate 的降序对数据进行排序,但它不起作用。在某些数组中,publishDate 即将到来,而在某些数组中,它不会到来。
[
{
"id": "brexit-delay",
"title": "Brexit Delay",
"publish": {
"publishDate": "2019-8-30T12:25:47.938Z",
}
},
{
"id": "brexit-delay",
"title": "Example 3"
},
{
"id": "brexit-delay",
"title": "Example 2",
"publish": {
"publishDate": "2019-6-30T12:25:47.938Z",
}
},
{
"id": "brexit-delay",
"title": "Example 5"
},
{
"id": "brexit-delay",
"title": "Example 5",
"publish": {
"publishDate": "2019-10-25T12:25:47.938Z",
}
}
]
js代码:
data.sort(function(a, b){
if("publish" in a && "publish" in b){
return new Date(a.publish.publishDate) - new Date(b.publish.publishDate)
}
} );
【问题讨论】:
-
您希望如何处理那些缺少
publishDate的对象?他们是晚一切还是早? -
另外,您正在检查
'publish' in a,而原始对象中的键称为publishDate,所以我想它应该是'publishDate' in a -
@SebastianKaczmarek
publishDate是publish的键,所以没关系。我假设如果publish键存在,那么publish.publishDate也会有一些日期值。 -
@SebastianKaczmarek 我想尽快处理没有
publishDate的对象 -
@hussain.codes 啊,对不起,你是对的。我没有看到
publish键;)
标签: javascript arrays node.js sorting