首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >有没有一种方法可以将一个对象放在数组中的两个不同位置,并使它们具有不同的值?

有没有一种方法可以将一个对象放在数组中的两个不同位置,并使它们具有不同的值?
EN

Stack Overflow用户
提问于 2019-06-09 23:54:13
回答 1查看 80关注 0票数 1

我正在用JavaScript做一个小游戏来帮助我学习它。这个游戏基于一组瓷砖,每个瓷砖都有不同的值。

当它启动时,它将一个对象放入每个单元格中,然后继续下一个单元格,更改值。

它总是显示最后一个单元格的属性。有没有什么方法可以让单元格具有不同的值,而不需要制作大量不同的对象?

如果问题不清楚,很抱歉。我对JavaScript非常陌生。

EN

回答 1

Stack Overflow用户

发布于 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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56516093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档