Tengo una matriz de objetos como este ¿Cómo lograr la forma de salida de esta matriz? Aporte:
[ { meta_key: 'nickname', meta_value: 'testqa2', id: '10' }, { meta_key: 'first_name', meta_value: 'TEST', id: '10' }, { meta_key: 'last_name', meta_value: 'QA', id: '10' }, { meta_key: 'nickname', meta_value: 'testqa10', id: '11' }, { meta_key: 'first_name', meta_value: 'TEST', id: '11' }, { meta_key: 'last_name', meta_value: 'QA', id: '11' } ]Producción
[ {id:'10 , nickname:'testqa2 , first_name:'TEST' , last_name :'QA'}, {id:'10 , nickname:'testqa10, first_name:'TEST' , last_name :'QA'} ]puedes hacerlo usando reduce como este
const data = [ { meta_key: 'nickname', meta_value: 'testqa2', id: '10' }, { meta_key: 'first_name', meta_value: 'TEST', id: '10' }, { meta_key: 'last_name', meta_value: 'QA', id: '10' }, { meta_key: 'nickname', meta_value: 'testqa10', id: '11' }, { meta_key: 'first_name', meta_value: 'TEST', id: '11' }, { meta_key: 'last_name', meta_value: 'QA', id: '11' } ] const result = Object.values(data.reduce((res, {id, meta_key, meta_value}) => { return { ...res, [id]: { id, ...res[id], [meta_key]: meta_value } } }, {})) console.log(result)