我无法按日期对数组对象中的数组进行排序。
我有一个如下的数组对象。
[
{
"name": "February",
"plantingDate": "2018-02-04T17:00:00.000Z",
},
{
"name": "March",
"plantingDate": "2018-03-04T17:00:00.000Z",
},
{
"name": "January",
"plantingDate": "2018-01-17T17:00:00.000Z",
}
]
如何从一月到十二月对数组对象中的数组进行排序,如下所示。
[
{
"name": "January",
"plantingDate": "2018-01-17T17:00:00.000Z",
},
{
"name": "February",
"plantingDate": "2018-02-04T17:00:00.000Z",
},
{
"name": "March",
"plantingDate": "2018-03-04T17:00:00.000Z",
}
]
我请求帮助。
谢谢。
答案 0 :(得分:2)
解析字符串以获取Date对象,然后解析sort by compare function。
var a = [
{
"name": "February",
"plantingDate": "2018-02-04T17:00:00.000Z",
},
{
"name": "March",
"plantingDate": "2018-03-04T17:00:00.000Z",
},
{
"name": "January",
"plantingDate": "2018-01-17T17:00:00.000Z",
}
]
a.sort(function(a,b){
return new Date(a.plantingDate) - new Date(b.plantingDate)
})
console.log(a)
作为Barmar commented,
a.sort(function(a,b){
return a.plantingDate > b.plantingDate;
})
也将起作用。