【发布时间】:2020-10-13 18:57:15
【问题描述】:
我正在尝试将作为参数传递给 Javascript 类方法的数组与也在该方法中创建的对象数组进行匹配。
例如,这里传递了一个数组:
colorSet = ["red","orange","purple","yellow"]
当这个数组传入下面的方法 addColors 时,我需要创建一个对象并根据 colorSet 的长度将该对象推送到一个空数组。这很简单。
addColors(colorSet) {
let obj = {}
for (let i = 0;i<colorSet.length;i++){
this.legend.push(obj)
}
但是,在这样做之后,我尝试在同一个 for 循环中将对象键“颜色”添加到对象数组中,并将其值设置为 colorSet 中的颜色数组。见下文:
addColors(colorSet) {
let obj = {}
for (let i = 0;i<colorSet.length;i++){
this.legend.push(obj)
this.legend[i].color = colorSet[i]
}
但是,结果如下:
0: Object { color: "yellow" }
1: Object { color: "yellow" }
2: Object { color: "yellow" }
3: Object { color: "yellow" }
我想要的是这个:
0: Object { color: "red" }
1: Object { color: "orange" }
2: Object { color: "purple" }
3: Object { color: "yellow" }
对此的任何帮助将不胜感激。
【问题讨论】:
标签: javascript arrays for-loop object methods