如何给数组中的特定对象属性赋值?
How to assign a value to a specific object property in Array?
我有一个包含如下对象的数组:
[{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
您可以使用 returns 模板副本(通过使用扩展运算符)的回调填充数组。
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; }
我有一个包含如下对象的数组:
[{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
您可以使用 returns 模板副本(通过使用扩展运算符)的回调填充数组。
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; }