JSFiddle - React, Tailwind, and code Playground

by A B Jones

JavaScript

var data = [{
  "Date": 1990,
  "Series": "Ordinary Time Earnings",
  "Admin": 20,
  "Mining": 30,
  "CPI": 96
}, {
  "Date": 1991,
  "Series": "Ordinary Time Earnings",
  "Admin": 22,
  "Mining": 33,
  "CPI": 100
}, {
  "Date": 1990,
  "Series": "Total Earnings",
  "Admin": 25,
  "Mining": 38,
  "CPI": 96
}, {
  "Date": 1991,
  "Series": "Total Earnings",
  "Admin": 29,
  "Mining": 43,
  "CPI": 100
}];

var OrdinaryTimeEarnings = data
  .filter(function(d) {
    if (d.Series == 'Ordinary Time Earnings')
      return d;
  });
var TotalEarnings = data
  .filter(function(d) {
    if (d.Series == "Total Earnings")
      return d;
  });
/*var OrdinaryTimeEarningsReal = OrdinaryTimeEarnings
  OrdinaryTimeEarningsReal
    .forEach(function (z,i) {
        var CPI = z["CPI"];
        d3.map(z, function(b) {return b;})
            .forEach(function (c) {
                if(c !== "Date" && c !== "Series" && c !== "CPI" ) {
               
                OrdinaryTimeEarningsReal[i][c] = ((z[c])/(CPI))*100; 
                 console.log(OrdinaryTimeEarningsReal[i][c] )
                }
                          
            });
    });*/


data.forEach(function(d) {
  //console.log(d)
  for (var key in d) {
    if (key !== 'Date' && key !== 'Series' && key !== 'CPI') {
      d['new' + key] = (d[key] / d.CPI) * 100;
    }
  }
})
console.log(data)

//console.log(OrdinaryTimeEarnings)

// console.log(TotalEarnings)