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, " ");