JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgithub.com/jrideout/melt.js/master/melt.js"></script>
Origional:
<pre id="old">
[{"Name":"Mr A","Spent":40,"Year":"2011"},
{"Name":"Mr B","Spent":10,"Year":"2011"},
{"Name":"Mr C","Spent":40,"Year":"2011"},
{"Name":"Mr A","Spent":70,"Year":"2011"},
{"Name":"Mr A","Spent":30,"Year":"2012"},
{"Name":"Mr B","Spent":20,"Year":"2012"},
{"Name":"Mr B","Spent":20,"Year":"2012"},
{"Name":"Mr C","Spent":40,"Year":"2012"},
{"Name":"Mr B","Spent":50,"Year":"2013"},
{"Name":"Mr C","Spent":30,"Year":"2013"},
{"Name":"Mr A","Spent":70,"Year":"2013"}]
</pre>
Cast:
<pre id="new">
</pre>
CSS
pre {
border: 1px dashed;
padding: 4px;
white-space: pre-wrap;
}
JavaScript
var old = document.getElementById("old").textContent,
old = JSON.parse(old);
var ironObject = cast(old,["Name"],cast.sum,"Spent");
document.getElementById("new").textContent = JSON.stringify(ironObject,null);