Tengo la siguiente matriz de objetos.
[ { claimNumber1: 'R12345', checkNumber1: '' }, { claimNumber2: 'T1234', checkNumber2: 'abcd' }, { claimNumber3: 'Z4567', checkNumber3: 'qwer' } ] Usando reduce , quiero convertir esto a continuación.
{ claimNumber1:'R12345', checkNumber1:'', claimNumber2:'T1234', checkNumber2:'', claimNumber3:'Z4567', checkNumber3:'', }Intenté a continuación pero no obtuve lo que esperaba.
.reduce((obj, item) =>{ return {...obj,item} } ,{});Debe difundir el item del elemento, porque item es un objeto
const arr = [ { claimNumber1: "R12345", checkNumber1: "" }, { claimNumber2: "T1234", checkNumber2: "abcd" }, { claimNumber3: "Z4567", checkNumber3: "qwer" }, ]; const result = arr.reduce((obj, item, i) => { return { ...obj, ...item, [`checkNumber${i + 1}`]: "" }; }, {}); console.log(result);Casi ahí. Solo necesita spread el item también.
.reduce((obj, item) => { return { ...obj, ...item, }; }, {});Creo que deberías esparcir cada artículo en reductor. Aquí está mi código.
const res = arr.reduce((prev, item) => { return { ...prev, ...item }; }, {});y el resultado es
{ claimNumber1: 'R12345', checkNumber1: '', claimNumber2: 'T1234', checkNumber2: 'abcd', claimNumber3: 'Z4567', checkNumber3: 'qwer' }