JSFiddle - React, Tailwind, and code Playground

by Phil Brown

HTML

<pre></pre>

JavaScript

const MainData = {
  MonthRow : {   
     1 : {2017:0,2018:0},
     2 : {2017:0,2018:0},
     3 : {2017:0,2018:0},
     4 : {2017:0,2018:0},
     5 : {2017:0,2018:0},
     6 : {2017:0,2018:0}
  },
  year: [2017, 2018],
  block: [{
  	month: 2,
    year: 2018,
    Sale: 'Foo'
  }, {
  	month: 5,
    year: 2017,
    Sale: 'Boo'
  }, {
  	month: 4,
    year: 2018,
    Sale: 'Baz'
  }]
}

Object.keys(MainData.MonthRow).forEach(function(key) {
  MainData.block.forEach(function(element) {
    if(key == element.month) {
      MainData.year.forEach(function(year, j, years) {
        if(element.year == year && key == element.month) {
          MainData.MonthRow[key][year] = element.Sale;
        }
      })   
    }
  })
})

document.querySelector('pre').textContent = JSON.stringify(MainData.MonthRow, null, 2)