如何从Object数组中获取缺少的元素?假设我的对象数组来自服务器,如跟随

时间:2017-06-21 04:44:37

标签: angularjs momentjs

data:[{time :9:15},    {time :9:16},    {time :9:17},    {time :9:18},        {time :9:19}, {time :10:15},  {time :10:16},  {time :10:17}, {time :10:18} ]

我从服务器获取此数组并将其打印在屏幕上的表格中。但是如果你能看到这些数据不是继续存在的话。如果数据不在数组中,我想显示该数据并在屏幕上显示。假设在9:19之后不存在数据,那么我的o / p应该是9:15 9:16 ..... 9:19 9:20 9:21 9:22 ... 10:14。

1 个答案:

答案 0 :(得分:1)

var data=[{time :'9:15'}, {time :'9:16'}, {time :'9:17'}, {time :'9:18'}, {time :'9:19'}, {time :'10:15'}, {time :'10:16'}, {time :'10:17'}, {time :'10:18'}];

var h = th = +data[0].time.split(':')[0]; 
var m = tm = data[0].time.split(':')[1] - 1;
var h2 = +data[data.length - 1].time.split(':')[0]; 
var m2 = +data[data.length - 1].time.split(':')[1];

var result = [];
do {    
    if(h2 == th && m2 == tm)
	break;
    tm++;
    if(tm == 60){
	tm=0;
	th++;
    }
    result.push({time: th+':'+tm});
}while(true);

console.log(result);