Básicamente, tengo un objeto (obj) y varias declaraciones if para insertar valor en este objeto. En la primera declaración if , estoy creando un objeto (enlaces) y agregando una matriz (película) e insertando los datos del mapa en él. Luego tengo un segundo if creo otra matriz (serie) después de la matriz de la película e introduzco algunos otros datos en ella. Estoy repitiendo esta ejecución dos veces. Mi problema ahora es que creo que está recreando una nueva matriz cada vez, lo que significa que los datos de la declaración if anterior se eliminan. ¿Cómo logro esto?
const obj = { projet, file: }; //1 if (....) { const arr1 = Object.entries(....).map((entry) => ({ modelid: entry[0].substring(6, entry[0].length), id: entry[1], })); obj.links.movie = arr1; } //2 if (...) { const arr2 = Object.entries(...).map(([key, value]) => ({ modelId: key.substring(6), ids: value, })); obj.links.serie = arr2; }este es el resultado esperado.
const obj = { projet, file:, links: { movie: [], serie: [], };Primero debe verificar si dentro del objeto, debajo de la clave de destino (película o serie), hay algunos datos, si los hay, simplemente debe extenderlos usando la distribución de matriz, y si no, entonces asigne el valor inicial a la clave de destino (como lo hizo) :
if(obj.links.movie) obj.links.movie.push(...arr1); else eobj.links.movie = arr1;