JavaScript中的字符串日期数组排序

JavaScript中的字符串日期数组排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,我在尝试用JavaScript对字符串日期数组排序时遇到了一些问题 function drawLineChart(crisislist){ crisislist.sort(function(a,b) { a = a.split('-').reverse().join(''); b = b.split('-').reverse().join(''); return a > b ? 1 : a < b ? -1 : 0; }

我在尝试用JavaScript对字符串日期数组排序时遇到了一些问题

function drawLineChart(crisislist){
    crisislist.sort(function(a,b) {
        a = a.split('-').reverse().join('');
        b = b.split('-').reverse().join('');
        return a > b ? 1 : a < b ? -1 : 0;
    });
    for(var i = 0; i < crisislist.length; i++){
        console.log(crisislist[i].date);
    }
}
当我尝试对其进行排序时,它给了我一条错误消息:

a.split is not a function
我想知道有没有办法直接在CrisList中对它进行排序,而不是创建另一个只有日期字段的字符串日期数组

提前谢谢

没有排序代码块的console.log给了我以下日期:


您似乎在寻找
a.date.split(…)
。您没有日期字符串数组,而是包含字符串的对象数组。

请添加一些数据,或者至少添加日期字符串。在
a.split(…
之前添加
console.log(a)
,以查看
a
的内容。@Sangbokee a是对象{category:“1”,month:“02”,date:“01-02-2017”}因为我的CrisList是一个对象数组,但它不是对象数组,
object
没有
split()
方法。
string
有。
a.split is not a function