我正在用JavaScript制作一个小游戏来帮助我学习它。该游戏基于一组图块,每个图块具有不同的值。
开始时,它将对象放入每个单元格,然后继续到下一个单元格,更改值。
它总是显示最后一个单元格的属性。有什么办法可以使单元格具有不同的值而又不制造大量不同的对象?
很抱歉,如果不清楚。我对JavaScript非常陌生。
答案 0 :(得分:0)
您不必担心对象,几乎没有方法声明数组并使用它。您可以遵循JavaScript doucemntation。
如果您对文档不满意,可以使用一些数组示例来了解值更改和对象更改。
如果您在下面有任何问题评论。
答案 1 :(得分:0)
我认为您正在将相同的对象一遍又一遍地推入数组。使用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