JSFiddle - React, Tailwind, and code Playground
by ramnathv
CoffeeScript
data = [
{"Country":"AAAA","Region":"XXXX","Year":2001,"V1":12,"V2":13},
{"Country":"BBBB","Region":"YYYY","Year":2001,"V1":14,"V2":15},
{"Country":"AAAA","Region":"XXXX","Year":2002,"V1":36,"V2":56},
{"Country":"AAAA","Region":"XXXX","Year":1999,"V1":45,"V2":67}
]
zip_and_sort = (d, year, v) ->
tmp = _.zip(_.pluck(d, year), _.pluck(d, v))
_.sortBy(tmp, (y) -> y[0])
x = _.chain(data)
.groupBy((d) -> d.Country)
.map((d, k) -> {
"Country": k
"Region": d[0].Region
"V1": zip_and_sort(d, "Year", "V1")
"V2": zip_and_sort(d, "Year", "V2")
})
console.log(JSON.stringify(x.value()))