JSFiddle - React, Tailwind, and code Playground
JavaScript
var before = {
"message": "Successfully Advisor data has been fetched.",
"success": true,
"data": {
"dataHeaders": ["Carrier","B2B", "EM"],
"dataArray": {
"DHL": ["DHL", "45", "5","5"],
"Fedex": ["Fedex","40", "7","6"],
"UPS" : ["UPS","30", "10","3"],
"TNT" : ["TNT","30", "10","3"],
}
}
};
parseData = function (jsonData) {
var result = [];
jsonData.data.dataHeaders.forEach(function (carrier, indexHeader) {
var el = {}
el.key = carrier;
el.values = [];
// shortcut
dataArray = jsonData.data.dataArray;
// generate sub elements
for (arr in dataArray) {
// generate element
subEl = {};
subEl.x = arr;
subEl.y = dataArray[arr][indexHeader + 1];
// add to array
el.values.push(subEl);
}
// add el to result
result.push(el);
});
return result;
}
var after = parseData(before);
alert(JSON.stringify(after));
console.log("before: ", before);
console.log("after: ", after);