Miré a mi alrededor pero no encontré exactamente lo que estoy buscando: quiero agregar valores de objetos secundarios sin fusionarlos.
P.EJ:
const ADDRESS = { address1: { line1: 'blah 1' // ... }, address2: { line1: 'blah 2' // ... }, address3: { line1: 'blah3' // ... }, address4: { line1: 'blah3' // ... } }Si uso el operador de propagación, se fusionan, solo quiero que se agreguen
const addressesappended = { ...ADDRESS.address1, ...ADDRESS.address2 }Resultado deseado:
{ address1: { line1: 'blah 1' // ... }, address2: { line1: 'blah 2' // ... } }Solo puede obtener los valores.
const ADDRESS = { address1: { line1: 'blah 1' }, address2: { line1: 'blah 2' }, address3: { line1: 'blah3' }, address4: { line1: 'blah3' } }; result = Object.values(ADDRESS); console.log(result);Puedes clonar todo el objeto usando
const result = Object.assign({}, ADDRESS);puede asignar manualmente los objetos secundarios si coincide con "dirección"
let result = {}; for (const [key, value] of Object.entries(ADDRESS)) { if(key.includes("address")) result[key] = value; }Deberá declarar las claves para los datos de propagación asociados en el objeto de destino.
const addresses = { address1: { line1: 'blah 1' }, address2: { line1: 'blah 2' }, address3: { line1: 'blah3' }, address4: { line1: 'blah3' } }; const addressesAppended = { address1: { ...addresses.address1 }, address2: { ...addresses.address2 } }; console.log(addressesAppended); .as-console-wrapper { top: 0; max-height: 100% !important; }