JSFiddle - React, Tailwind, and code Playground
by Jane Wilkie
HTML
<TABLE>
<TR><TD>Error</TD>TD><TD>1472058000000</TD><TD>1472061600000</TD></TR>
<TR><TD>newview</TD><TD>359</TD><TD>338</TD></TR>
<TR><TD>oldview</TD><TD>169</TD><TD>184</TD></TR>
<TR><TD>noview</TD><TD>6</TD><TD>14</TD></TR>
<TR><TD>someview</TD>0<TD></TD><TD>1</TD></TR>
<TR><TD>TOTALS</TD><TD>534</TD><TD>537</TD></TR>
</TABLE>
JavaScript
var myData = [
[{
"timeBucket": 1472058000000,
"errors": 534,
"errorFree": 0,
"business": 0,
"errorRate": 1.0,
"breakdown": [{
"type": "newview",
"count": 359,
"errorRate": 1.0
}, {
"type": "oldview",
"count": 169,
"errorRate": 1.0
}, {
"type": "noview",
"count": 6,
"errorRate": 1.0
}]
}],
[{
"timeBucket": 1472061600000,
"errors": 537,
"errorFree": 0,
"business": 0,
"errorRate": 1.0,
"breakdown": [{
"type": "newview",
"count": 338,
"errorRate": 1.0
}, {
"type": "oldview",
"count": 184,
"errorRate": 1.0
}, {
"type": "noview",
"count": 14,
"errorRate": 1.0
}, {
"type": "someview",
"count": 1,
"errorRate": 1.0
}]
}]
];
var result = [];
errorTypes.map( function (item) {
myData.forEach(function(ele, idx) {
var count = ele[0].breakdown.filter(function(ele, idx) {
return ele.type == item;
})[0];
count = (count === undefined) ? 0 : +count.count
result.push(
[ele[0].timeBucket, parseFloat(ele[0].errors), count]);
});
});
console.log(result);