从数组中过滤出最近的日期

问题描述 投票:-4回答:1

我有一个场景,我想从ajax调用中获取的一堆数据中选择最近的日期或过去的日期。

例如:如果我得到三行,其中有三个不同的日期,如12/12/201,12/3/201和1/1/2018,那么我想返回1/1/2018。而且如果数组不包含过去的日期,那么它应该将最近的日期返回到当前日期。

请建议我实现这一目标。

java jquery date
1个回答
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.