gpt4 book ai didi

javascript - 如何创建单个对象 Javascript 的数组

转载 作者:行者123 更新时间:2023-11-30 09:11:48 26 4
gpt4 key购买 nike

他们都指向同一个对象“bestGamer”我不希望他们这样做,我希望数组中的每个单元格都是一个单独的对象,在他们的 Prop 中具有不同的值。

我想做静态的,因为稍后我想传递一个数组,我不想在运行时推送不同的值

const bestGamer = {
"name" : "",
"points" : 0
}
arr2 = new Array(2).fill(bestGamer)
console.log("First:",arr2[0])
console.log("Second:",arr2[1]);
arr2[0].name ="Yossi"
arr2[0].points++
arr2[1].name ="Dima"
arr2[1].points++
console.log("First:",arr2[0]);
console.log("Second:",arr2[1]);
console.log("Orignal Object",bestGamer);

enter image description here

最佳答案

你需要在将它放入 newArray 时创建一个副本,fill(bestGamer) 在所有索引上放置相同的 bestGamer,这样你最终在所有索引上都有相同的引用

let bestGamer = { a: 1,  b: 2 }
let newArr = new Array(2).fill(0).map(v=> ({...bestGamer}))

newArr[0].a = 10
console.log(newArr)


您可以使用 Array.from 而不是 new Array

let bestGamer = { a: 1,  b: 2 }
let newArr = Array.from({length:2}, () => ({...bestGamer}) )

newArr[0].a = 10
console.log(newArr)

关于javascript - 如何创建单个对象 Javascript 的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58172889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com