var object = [{loop:0, key: 'organization', value:'ABC Inc'}, {loop:0,key:'address',value:'123 Front'}, {loop:0, key: 'city',value:'Wilmington'},{loop:0, key:'state',value:'NC'},{loop:0, key:'zip',value:'09900'}, {loop:1,key:'organization',value:'Wonton Inc'},{ loop:1, key:'address',value:'555 Front'}, {loop:1,key:'city',value:'Jasper'},{loop:1, key:'state',value:'NC'},{loop:1, key:'zip',value:'09877'}, {loop:1, key:'organization',value:'ABC Inc'},{loop:1, key:'address',value:'123 Front'},{loop:1, key:'city',value:'Wilmington'},{loop:1, key:'state',value:'NC'},{loop:1, key:'zip',value:'45345'}];
var result = object.reduce(function(hash){
return function(p,c) {
if(!hash[c.loop]) {
hash[c.loop] = {}
p.push(hash[c.loop]);
}
hash[c.loop][c.key] = c.value;
return p;
}
}(Object.create(null)), []);
console.log(result);
.as-console-wrapper{top:0;max-height:100%!important;}