I currently have the following data structure:
const bar = [
{id:1, version:0, name:"test name A"},
{id:2, version:0, name:"test name B"},
{id:3, version:0, name:"test name C"}
];
And I need to turn it into this:
const foo = {
1:{id:1, version:0, name:"test name A"},
2:{id:2, version:0, name:"test name B"},
3:{id:3, version:0, name:"test name C"}
};
The piece of code I actually have is this:
for(let i=0;len = bar.length; i< len;i++){
foo[bar[i].id]= bar[i];
}
I've tried doing
bar.map((element,index)=>{
const temporal = {[index]:element};
foo = {...foo, temporal};
});
but I'm lost, any suggestions?
Array.mapor the new ES6Mapstructure? There seems to be some confusion. Because you can just dobar.reduce((m, o) => m.set(o.id, o), new Map());if you want the latter.Array.maphas been around long before ES6.new Map(Object.entries(bar));