【发布时间】:2022-02-03 01:26:27
【问题描述】:
我有一个包含如下对象的数组:
[{Date: null, Dossie1: null}, {Date: null, Dossie1: null}, {Date: null, Dossie1: null}]
我需要为每个特定对象的属性分配一个值。
let dataset = Array(dates.length).fill(objectTemplate)
for (let i=0; i<dates.length; i++) {
dataset[i].Date = dates[i]
}
但问题是当我这样做的时候。
每个对象都分配有最后一项。
例如,如果 dates 有 3 个值 [1,2,3]。
数组 dataset 中的属性将被分配 3 而不是 1,2,3
【问题讨论】:
-
Array(dates.length).fill(objectTemplate)这不是一个充满相同对象的数组,这是一个反复填充相同对象的数组。 -
我看到你通过 for 循环循环了 3 次,每次你调用每个 Dataset 元素的 Date 并将值存储在其中,因此你得到的输出为 1,2,3 请限制迭代根据您的要求通过条件(如果或过滤)
-
Array.from(dates, () => Object.assign({}, objectTemplate))
标签: javascript arrays reactjs javascript-objects