如何使用javascript在数组中找到最早的日期即最小日期?示例:我有一个数组持有
{10-Jan-2013,12-Dec-2013,1-Sep-2013,15-Sep-2013}
Run Code Online (Sandbox Code Playgroud)
我的输出应该是:
{10-Jan-2013,1-Sep-2013,15-Sep-2013,12-Dec-2013}.
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我建议将匿名函数传递给该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"]
Run Code Online (Sandbox Code Playgroud)
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);Run Code Online (Sandbox Code Playgroud)
请注意使用['10-Jan-2013','12-Dec-2013','1-Sep-2013','15-Sep-2013']引用的日期字符串数组.
以上将为您提供一系列日期,从最早到最晚列出; 如果你只想最早,那就用吧orderedDates[0].
修订后的方法,只显示最早的日期 - 按照问题的要求 - 如下:
var dates = ['10-Jan-2013', '12-Dec-2013', '1-Sep-2013', '15-Sep-2013'],
earliest = dates.reduce(function (pre, cur) {
return Date.parse(pre) > Date.parse(cur) ? cur : pre;
});
console.log(earliest); // 10-Jan-2013
Run Code Online (Sandbox Code Playgroud)
var dates = ['10-Jan-2013', '12-Dec-2013', '1-Sep-2013', '15-Sep-2013'],
earliest = dates.reduce(function(pre, cur) {
return Date.parse(pre) > Date.parse(cur) ? cur : pre;
});
console.log(earliest);Run Code Online (Sandbox Code Playgroud)
参考文献:
| 归档时间: |
|
| 查看次数: |
10727 次 |
| 最近记录: |