如何排序数组日期JavaScript dd/mm/yyyy?

use*_*024 3 javascript arrays sorting date

我如何按时间顺序对一组日期进行排序?例如,我有:

var dates = [
    '03/03/2014',
    '01/03/2014',
    '02/03/2014',
    '04/03/2014'
];

sortDates = sortDate(dates);

sortDate(array){
    // ?
    returnt arraySort;
}
Run Code Online (Sandbox Code Playgroud)

我希望结果数组看起来像:

[
    '01/03/2014', 
    '02/03/2014',
    '03/03/2014', 
    '04/03/2014'
]
Run Code Online (Sandbox Code Playgroud)

lea*_*eaf 7

试试这个(随时询问详细信息):

dates.sort(function (a, b) {
    // '01/03/2014'.split('/')
    // gives ["01", "03", "2014"]
    a = a.split('/');
    b = b.split('/');
    return a[2] - b[2] || a[1] - b[1] || a[0] - b[0];
});
Run Code Online (Sandbox Code Playgroud)

最后一行的翻译:

dates.sort(function (a, b) {
    // '01/03/2014'.split('/')
    // gives ["01", "03", "2014"]
    a = a.split('/');
    b = b.split('/');
    return a[2] - b[2] || a[1] - b[1] || a[0] - b[0];
});
Run Code Online (Sandbox Code Playgroud)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort


Emi*_*ary 6

假设您的日期格式一致DD/MM/YYYY:

dates.sort(function(a, b){
    var aa = a.split('/').reverse().join(),
        bb = b.split('/').reverse().join();
    return aa < bb ? -1 : (aa > bb ? 1 : 0);
});
Run Code Online (Sandbox Code Playgroud)

...否则,Date如果您需要更多灵活性,则必须比较对象.