相关疑难解决方法(0)

使用JavaScript在数组中查找最接近的日期

我有一个数组,里面有几天.每天都是一个对象,例如:

{day_year: "2012", day_month: "08", day_number: "03", day_name: "mon"}

我还为每个日期对象添加了一个timestamp属性,方法是:

function convertDays() {
    var max_i = days.length;
    for(var i = 0; i < max_i; i++) {
        var tar_i = days[i];
        tar_i.timestamp = new Date(tar_i.day_year, tar_i.day_month, tar_i.day_number);
    }
}
Run Code Online (Sandbox Code Playgroud)

数组中的日子是任意的,因此它们没有真正的逻辑.

现在我想找到任何给定日期的最近两天.所以如果带有days的数组包含

  • 2012年8月2日
  • 2012年8月4日
  • 2012年8月23日

我搜索2012年8月11日,我希望它返回2012年8月4日和2012年8月23日.

我尝试过使用另一个问题的答案,如下所示:

function findClosest(a, x) {
    var lo, hi;
    for(var i = a.length; i--;) {
        if(a[i] <= x && (lo === undefined || lo < a[i])) lo = a[i];
        if(a[i] >= x && (hi === undefined || …
Run Code Online (Sandbox Code Playgroud)

javascript arrays search

7
推荐指数
5
解决办法
2万
查看次数

标签 统计

arrays ×1

javascript ×1

search ×1