如何使用javascript在数组中查找最早日期

如何使用javascript在数组中查找最早日期,javascript,Javascript,如何使用Javascript在数组中查找最早的日期,即最小日期 例如: ["10-Jan-2013", "12-Dec-2013", "1-Sep-2013", "15-Sep-2013"] 我的输出应该是: ["10-Jan-2013", "1-Sep-2013", "15-Sep-2013", "12-Dec-2013"] 如何执

如何使用Javascript在数组中查找最早的日期,即最小日期

例如:

["10-Jan-2013", "12-Dec-2013", "1-Sep-2013", "15-Sep-2013"]
我的输出应该是:

["10-Jan-2013", "1-Sep-2013", "15-Sep-2013", "12-Dec-2013"]

如何执行此操作?

我建议将匿名函数传递给
sort()
方法:

var dates = ['10-Jan-2013','12-Dec-2013','1-Sep-2013','15-Sep-2013'],
    orderedDates = dates.sort(function(a,b){
        return Date.parse(a) > Date.parse(b);
    });

console.log(orderedDates); // ["10-Jan-2013", "1-Sep-2013", "15-Sep-2013", "12-Dec-2013"]
var日期=['2013年1月10日'、'2013年12月12日'、'2013年9月1日'、'2013年9月15日',
orderedDates=dates.sort(函数(a,b){
返回日期.parse(a)>日期.parse(b);
});

console.log(orderedDates)假设您有一个
Date
对象数组

function findEarliestDate(dates){
    if(dates.length == 0) return null;
    var earliestDate = dates[0];
    for(var i = 1; i < dates.length ; i++){
        var currentDate = dates[i];
        if(currentDate < earliestDate){
            earliestDate = currentDate;
        }
    }
    return earliestDate;
}
函数findeariestdate(日期){
if(dates.length==0)返回null;
var earliestDate=日期[0];
对于(变量i=1;i
这是一个不带引号的字符串对象,是一个语法错误。下面是一个提示
futureDate>pastDate
也许这可以帮助你和新日期(Math.min.apply(0、[new Date(2007,3,6)、new Date(2010,2,4)、new Date(2003,6,9)])注意,该示例询问的问题与标题不同。您正在回答标题中的问题。有没有理由说明2021年这种方法不起作用?当我在浏览器控制台中运行您的第一个代码段(对日期进行排序)时,
orderedDates
中的日期保持与开始时相同的顺序。@Kyle:我想不出它不再适用于您的原因,只是检查了我的控制台(并编辑了这两个代码段,以便在代码段窗口中包含控制台输出)我得到了代码注释中预测的正确结果。您使用的是一个特别古老的浏览器或平台吗?尽管代码中没有要求任何远程“现代”的东西,这意味着您的浏览器选择可能有问题。