Tengo la siguiente estructura en mi matriz.
const data = [ { name: 'Book_1', value: { eng: 'english_book_1', sp: 'spanish_book_1' } }, { name: 'Book_2', value: { eng: 'english_book_2', sp: 'spanish_book_2' } } ];Y tratando de obtener una estructura como esta:
[ { eng: { Book_1: 'english_book_1', Book_2: 'english_book_2' } }, { sp: { Book_1: 'spanish_book_1', Book_2: 'spanish_book_2' } } ];Por lo tanto, la matriz debe tener claves de idioma y nombres de libros anidados con valores. Probé un par de cosas, pero incluso cerca.
const modified = []; const object = {}; data.forEach(el => { Object.entries(el.value).forEach(([name, value]) => { if (object['name']) { } modified.push(object); }); }); ``` Thanks.Puede reducir la matriz tomando un objeto para los objetos del lenguaje.
const data = [{ name: 'Book_1', value: { eng: 'english_book_1', sp: 'spanish_book_1' } }, { name: 'Book_2', value: { eng: 'english_book_2', sp: 'spanish_book_2' } }], result = Object.values(data.reduce((r, { name, value }) => { Object .entries(value) .forEach(([k, v]) => (r[k] ??= { [k]: {} })[k][name] = v); return r; }, {})); console.log(result); .as-console-wrapper { max-height: 100% !important; top: 0; }