Rellenar fechas vacios.

by jpeter06

HTML

<h4>Rellenar fechas vaciass</h4>
<pre id="salida">

</pre>

CSS

#salida{
  background:#eee
}

JavaScript

var salida=document.getElementById("salida");
var datos="datos formateados \n ";
var prog=[
  {ts: "2019-09-11 21:00", pro: 100},
  {ts: "2019-09-11 21:10", pro: 110},
  {ts: "2019-09-11 21:20", pro: 120},
  {ts: "2019-09-11 21:30", pro: 130},
  {ts: "2019-09-11 21:40", pro: 140},
  {ts: "2019-09-11 21:50", pro: 150},
  {ts: "2019-09-11 21:60", pro: 160}
]

var real=[
 // {ts: "2019-09-11 21:00", dem: 100}, //si no  al principio tambien lo rellenamos.
  {ts: "2019-09-11 21:10", dem: 110,aa:233},
  {ts: "2019-09-11 21:30", dem: 130},
  {ts: "2019-09-11 21:50", dem: 150}
]

function ceroCopy(ts,real){
	var copy=JSON.parse(JSON.stringify(real[0]));
  for (const prop in copy) {
  copy[prop]=0;
}
  copy['ts']=ts;
  return copy;
}

//Proceso de relleno de huecos
if(real.length>0){
	//Creamos un mapa con real

  //Cogemos el primero de real y lo preparamos para duplicar
	for(var i=0;i<prog.length;i++){
    if(real.length <= i) break; //Solo rellenamos los huecos
    if( prog[i]['ts']==real[i]['ts']){
    }else{
      datos+=' '+i+' ';
      real.splice(i, 0, ceroCopy(prog[i]['ts'],real));
    }
  }
}


salida.innerHTML=datos+JSON.stringify(real, null, " ");