我有一个场景,我想从ajax调用中获取的一堆数据中选择最近的日期或过去的日期。
例如:如果我得到三行,其中有三个不同的日期,如12/12/201,12/3/201和1/1/2018,那么我想要返回1/1/2018。 如果数组不包含过去的日期,那么它应该将最近的日期返回到当前日期。
请建议我实现这一目标。
答案 0 :(得分:0)
也许像这样的函数会很有用:
function getNearestDate(dates, date) {
if (!dates || dates.length == 0) {
return null;
}
if (!date) {
date = new Date();
}
var result = dates[0];
var dt = Math.abs(new Date(dates[0])-date);
var minimum = dt;
for (var i=1;i<dates.length;i++) {
dt = Math.abs(new Date(dates[i])-date);
if (dt < minimum) {
result = dates[i];
minimum = dt;
}
}
return result;
}