短陣推對象我有對象像檢查密鑰值在陣列對象存在與否,如果不存在內部陣列,並用相同的密鑰值
var array = [{x:'Thu Jul 27 2017 01:00:00 GMT+0200 (Central European Daylight Time)',y:1},
{x:'Thu Jul 27 2017 01:10:00 GMT+0200 (Central European Daylight Time)',y:5},
{x:'Thu Jul 27 2017 01:15:00 GMT+0200 (Central European Daylight Time)',y:3},
...
{x:'Thu Jul 27 2017 23:55:00 GMT+0200 (Central European Daylight Time)',y:8},
];
陣列,其中我需要檢查每個間隔時間用5 minute.Suppose我的開始和結束時間是
var start = 'Thu Jul 27 2017 01:00:00 GMT+0200 (Central European Daylight Time)';
var end = 'Thu Jul 27 2017 23:55:00 GMT+0200 (Central European Daylight Time)';
如果任何間隔數據缺失然後,我需要推動該對象與給定的時間間隔爲鍵「x」和「Y」爲0意味着我的輸出必須看起來像這樣 -
var output= [{x:'Thu Jul 27 2017 01:00:00 GMT+0200 (Central European Daylight Time)',y:1},
{x:'Thu Jul 27 2017 01:05:00 GMT+0200 (Central European Daylight Time)',y:0},
{x:'Thu Jul 27 2017 01:10:00 GMT+0200 (Central European Daylight Time)',y:5},
{x:'Thu Jul 27 2017 01:15:00 GMT+0200 (Central European Daylight Time)',y:3},
...
{x:'Thu Jul 27 2017 23:55:00 GMT+0200 (Central European Daylight Time)',y:8},
];
已添加丟失對象{x:'Thu Jul 27 2017 01:05:00 GMT + 0200(Central European Daylight Time)',y:0}。 我試過了。
var start = 'Thu Jul 27 2017 01:00:00 GMT+0200 (Central European Daylight Time)';
var end = 'Thu Jul 27 2017 23:55:00 GMT+0200 (Central European Daylight Time)';
var interval = 300000;
//loop through every 5 minute interval
for(var dt = start;dt<end;dt = new Date(dt.getTime()+ interval)){
if(!lookup(dt , array)) {
array .push({
x: dt,
y: 0
});
}
}
console.log("Unsorted output is" + array);// result
function lookup(name,arr) {
for(var i = 0, len = arr.length; i < len; i++) {
if(arr[ i ].key === name)
return true;
}
return false;
}
只要從我的邏輯我看,一切都很好,但我看不到缺失的時間間隔添加。任何人都可以幫助我,我做錯了什麼。 在此先感謝。
的日期存儲爲日期或字符串? – baklazan
@baklazan是日期。 –