Estoy luchando por fusionar una serie de objetos en la misma clave: "modelo" y reestructurarlo.
Debe ser también dinámico.
matriz original
var inputBl = [ { model: 1, dim: 'd1', val: 'v1' }, { model: 2, dim: 'd2', val: 'v2' }, { model: 1, dim: 'd3', val: 'v3' }, ]Primero obtuve todas las claves de modelo únicas:
var keys = []; inputBl.forEach(function(item) { keys.push(item.model); }); let uniqueItems = [...new Set(keys)];Y luego trató de reestructurar el objeto:
var obj = []; uniqueItems.forEach(function(model) { inputBl.forEach(function(item) { if (item.model == model) { obj.push({model: {dimensions: [item.dim]}}) } }); });Pero obtengo:
[ { model: [d1] }, { model: [d2] }, { model: [d3] }]El resultado ideal (dinámico):
var ideal = [ { 1: { dimensions: [d1, d3], values: [v1, v3] } }, { 2: { dimensions: [d2], values: [v2] } }, ];