这是我在循环体内输出的一个二维数组,意思是一个时间段内每分钟一条记录的集合,但是记录集合时间不连续,我在循环体内部找到间断的范围并补上记录,代码如下
var Timer = (function(){
var Timer = [];
for(var i=30;i<60;i++){
if(i<10){
var time = "09:0" +i;
}else{
var time = "09:" +i;
}
Timer.push(time);
}
for(i=10;i<21;i++){
for(var m=0;m<60;m++){
if(m<10){
if(i<10){
time = "0" + i + ":0" + m;
}else{
time = i + ":0" + m;
}
}else{
if(i<10){
time = "0" + i + ":" + m;
}else{
time = i + ":" + m;
}
}
Timer.push(time);
}
}
return Timer;
})();
var linedata = [
['10:20', 18.4, 18.58, 600, 20, 16, 18],
['10:21', 18.56, 18.25, 600, 20, 16, 18],
['10:22', 18.3, 18.22, 600, 20, 16, 18],
['10:23', 18.18, 18.69, 600, 20, 16, 18],
['10:24', 18.42, 18.29, 600, 20, 16, 18],
['10:25', 18.26, 18.19, 600, 20, 16, 18],
['10:26', 18.33, 18.07, 600, 20, 16, 18],
['10:27', 18.08, 18.04, 600, 20, 16, 18],
['10:28', 17.96, 17.86, 700, 20, 16, 18],
['10:29', 17.85, 17.81, 700, 20, 16, 18],
['10:30', 17.79, 17.93, 800, 20, 16, 18],
['11:02', 17.78, 17.83, 500, 20, 16, 18],
['11:03', 17.84, 17.9, 500, 20, 16, 18],
['11:04', 17.97, 18.36, 1000, 20, 16, 18],
['11:05', 18.3, 18.57, 1000, 20, 16, 18],
['11:06', 18.53, 18.68, 1000, 20, 16, 18],
['11:09', 18.75, 19.08, 1000, 20, 16, 18],
['11:10', 18.85, 18.64, 1000, 20, 16, 18],
['11:11', 18.64, 18.44, 1000, 20, 16, 18],
['11:12', 18.55, 18.27, 1000, 20, 16, 18],
['11:13', 18.13, 18.14, 1000, 20, 16, 18],
['11:16', 18.01, 18.1, 1000, 20, 16, 18],
['11:17', 18.2, 18.14, 1000, 20, 16, 18],
['11:18', 18.23, 18.16, 1000, 20, 16, 18],
['11:19', 18.08, 18.2, 1000, 20, 16, 18],
['11:20', 18.15, 18.25, 1000, 20, 16, 18]
];
var standardTime = "11:20";
function replenishData(linedata,standardTime){
var time = standardTime.split(":");
var newLineData = [];
var aa = 0;
for(var i=0;i<linedata.length;i++){
if(linedata[i][0]==Timer[aa]){
newLineData.push(linedata[i]);
aa++;
}else{
//var newSubData = [];
for(var m=0;m<Timer.length;m++){
if(linedata[i][0]==Timer[m]){
var endIndex = m;
break;
}
}
if(linedata[i-1]==undefined){
var beginIndex = -1;
}else{
for(m=0;m<Timer.length;m++){
if(linedata[i-1][0]==Timer[m]){
var beginIndex = m;
break;
}
}
}
aa = endIndex+1;
console.log(newLineData);
console.log(Timer[beginIndex]+","+Timer[endIndex]);
}
}
}
replenishData(linedata,standardTime);
Timer是我手动生成的一个连续时间集合,linedata是模拟获取到的不连续数据,但是在输出console.log时长度与length属性不一样,并且我还成功取到了数据间隔的区间,这个是什么原因,如果我继续写补齐数据代码,数组里面的顺序会按照时间大小排列么?
如果有相关的文章也请贴上链接,不慎感激。
点开之后,看到那个蓝色的
i
了吗? 把鼠标挪上去。搜一下出来的那句话,你会看到这个答案