2017-04-27 183 views
0

这里是什么,我有一个样本:填充缺少的日期

[{ 
    "probeTemp": "35.40", 
    "dateProbe": "2015-08-1" 
}, { 
    "probeTemp": "34.89", 
    "dateProbe": "2015-08-3" 
}, { 
    "probeTemp": "34.42", 
    "dateProbe": "2015-08-5" 
}] 

我如何填写最小和最大日期之间缺少的日期在JSON字符串,所以缺少场结束像这样?

[{ 
     "probeTemp": "35.40", 
     "dateProbe": "2015-08-1" 
    }, { 
     "probeTemp": null, 
     "dateProbe": "2015-08-2" 
    }, { 
     "probeTemp": "34.89", 
     "dateProbe": "2015-08-3" 
    }, { 
     "probeTemp": null, 
     "dateProbe": "2015-08-4" 
    }, { 
     "probeTemp": "34.42", 
     "dateProbe": "2015-08-5" 
    }] 

我发现this thread,但我不知道我是如何把它们运用到我的数据。任何帮助?

编辑2:This is what I tried so far,但我越来越Uncaught TypeError: Cannot read property 'length' of undefined在7行和第23

+0

缺失日期是什么意思?最小和最大之间? – Weedoze

+0

@Weedoze是的,抱歉没有具体。我将编辑我的问题。 – Newwt

+0

你尝试过什么吗?获取最小值和最大值然后在它们之间迭代每天 – Weedoze

回答

0

嘿,我会做somethink这样。

  1. 读取第一日期和解析IST Date.parse()
  2. 步行到下一个日期,检查第一次约会+ 1(新日期()GETDATE()+ 1)是相同的日期,如果是这样的话,如果不创建这个日期并插入它。
  3. 等等
+0

你介意给我一个如何做代码的例子吗? – Newwt

0

使用API​​ here它足够聪明,实例化一个日期 - 当一个迭代同时提前一天 - 帐户的短短几个月内,加入1闰年等高级不管getDate()返回的是什么(在Date实例上),然后用该后面的值调用setDate方法。或者使用getTime和setTime方法在一天中添加毫秒数。

核对您原有探头温度

你可以有最大日期埋伏比较的另一个实例的地图中的每个日期。在进行比较时,在两个实例上使用getTime方法,即:

if (iterDate.getTime() !== maxDate.getTime()) { 
    if (!previousProbeTemp) 
     newProbeTemp = null; 
+0

我不太明白这是如何工作的。在哪里/如何获得'iterDate'和'maxDate'?这是如何在json数组中插入缺失的日期?对不起,正如我所说的,我的javascript/jquery知识并不是那么广泛。 – Newwt