我正在用JavaScript做一个小游戏来帮助我学习它。这个游戏基于一组瓷砖,每个瓷砖都有不同的值。
当它启动时,它将一个对象放入每个单元格中,然后继续下一个单元格,更改值。
它总是显示最后一个单元格的属性。有没有什么方法可以让单元格具有不同的值,而不需要制作大量不同的对象?
如果问题不清楚,很抱歉。我对JavaScript非常陌生。
发布于 2019-06-10 00:19:57
我认为你是在一遍又一遍地把同一个对象推入数组。使用spread操作符可以在更改所需值的同时就地克隆对象。
const array = []
const obj = { a: 5, b: 6 };
array.push(obj);
array.push(obj);
obj.b = 8;
array.push({ ...obj, b: 10 })
console.log(array[0], array[1], array[2]);
如您所见,obj.b=8
同时影响数组的第一个和第二个元素,因为它们都引用同一个对象。但是,由于扩展(...
)运算符正在克隆对象,因此只有最后一个元素具有b=10
https://stackoverflow.com/questions/56516093
复制相似问题