Tengo una matriz con objetos como este:
[{Date: null, Dossie1: null}, {Date: null, Dossie1: null}, {Date: null, Dossie1: null}]Y necesito asignar un valor a cada propiedad de objetos específicos.
let dataset = Array(dates.length).fill(objectTemplate) for (let i=0; i<dates.length; i++) { dataset[i].Date = dates[i] } Pero el problema es que cuando lo hice. Cada objeto se asigna con el último elemento. Por ejemplo, si las dates tienen 3 valores [1,2,3]. La propiedad en el conjunto de dataset de matriz se asignará 3 no 1,2,3
Puede llenar una matriz con una devolución de llamada que devuelve una copia de la plantilla (usando el operador de propagación).
Array.from({ length: dates.length }, () => ({ ...objectTemplate })) const dates = [ { Date: null, Dossie1: null }, { Date: null, Dossie2: null }, { Date: null, Dossie3: null }, ], objectTemplate = { Date: null }, dataset = Array.from({ length: dates.length }, () => ({ ...objectTemplate })); for (let i = 0; i < dates.length; i++) { dataset[i].Date = dates[i]; } console.log(dataset); .as-console-wrapper { top: 0; max-height: 100% !important; }