Convert Json Data To Another Format Using Javascript
My base data is as following.. [{ month: 'Jan', cat: A, val: 20 },{ month: 'Jan', cat: B, val: 5 },{ month: 'Jan', cat: C, val: 10 },{ month
Solution 1:
This proposal features Array#forEach
with an object for the month group.
The object is created without any prototypes or properties, it is really an empty. This could be necessary if a hash has a value of a property of a not empty object.
var array = [{ month: 'Jan', cat: 'A', val: 20 }, { month: 'Jan', cat: 'B', val: 5 }, { month: 'Jan', cat: 'C', val: 10 }, { month: 'Feb', cat: 'A', val: 30 }, { month: 'Feb', cat: 'B', val: 10 }, { month: 'Feb', cat: 'C', val: 20 }],
grouped = [];
array.forEach(function (a) {
if (!this[a.month]) {
this[a.month] = { month: a.month };
grouped.push(this[a.month]);
}
this[a.month][a.cat] = (this[a.month][a.cat] || 0) + a.val;
}, Object.create(null));
document.write('<pre>' + JSON.stringify(grouped, 0, 4) + '</pre>');
Post a Comment for "Convert Json Data To Another Format Using Javascript"