Build Json from an array of objects Build Json from an array of objects typescript typescript

Build Json from an array of objects


You could use reduce method which accepts as parameter a callback function.

Read more about reduce method here.

let array=[  { attribute: 'a', modifier: 121 },  { attribute: 'b', modifier: 67 },  { attribute: 'c', modifier: 121 },  { attribute: 'd', modifier: 67 } ];let obj=array.reduce(function(obj,item){  obj[item.attribute] = item.modifier;  return obj;},{});console.log(obj);


You could use Object.assign in combination with Array#map.

var array = [{ attribute: 'a', modifier: 121 }, { attribute: 'b', modifier: 67 }, { attribute: 'c', modifier: 121 }, { attribute: 'd', modifier: 67 }],    result = Object.assign(...array.map(o => ({ [o.attribute]: o.modifier })));console.log(result);

With destructuring assignment

var array = [{ attribute: 'a', modifier: 121 }, { attribute: 'b', modifier: 67 }, { attribute: 'c', modifier: 121 }, { attribute: 'd', modifier: 67 }],    result = Object.assign(...array.map(({ attribute, modifier }) => ({ [attribute]: modifier })));console.log(result);


try this.

var arr = [  { attribute: 'a', modifier: 121 },  { attribute: 'b', modifier: 67 },  { attribute: 'c', modifier: 121 },  { attribute: 'd', modifier: 67 } ]var map = {};arr.forEach( function(item){ map[ item.attribute ] = item.modifier });console.log( JSON.stringify( map, 0, 4 ) )