Converting Between Split and Merged Formats

Overview



This page discusses converting between the two common asset price dataset formats.

Merging a Split Dataset






let prices = [
	{date:'2000-01-01', close:100, id:'IBM'},
	{date:'2000-01-02', close:101, id:'IBM'},
	{date:'2000-01-03', close:100, id:'IBM'},
	{date:'2000-01-01', close:145, id:'MSFT'},
	{date:'2000-01-02', close:144, id:'MSFT'},
];

let map = {};
prices.forEach(p=>{
  if(map[p.date] === undefined) map[p.date] = [];
  map[p.date].push(p);
});

let newPrices = [];
for(let key in map){
  let list = map[key];
  let record = {
    date:key
  };
  for(let item of list){
    record[item.id] = item.close;
  }
  newPrices.push(record);
}
					
Try it!

Contents