如何深拷贝一个带玩家属性的数组呢?

[复制链接]
620 |5
天启 发表于 2023-6-6 19:19:14 | 显示全部楼层 |阅读模式
let players2 = JSON.parse(JSON.stringify(players));

这样貌似不行呢,拷贝一个不改变原始数组的新数组还有其他方法吗?

回复

使用道具 举报

Othanse 发表于 2023-6-7 08:56:25 | 显示全部楼层
主要看目的是什么呢?
1. 如果是想在另外一个地方获取到玩家的话,可以使用Gameplay.getPlayer(playerId),存储的时候只需要存储playerId就行的。
2. 如果是想存储玩家数据,就只需要把对应的字段拿出来存储即可
3. 如果是想在任何时间,都能通过完整的Player数据复制一个玩家出来的话,是做不到的,即使有playerId,也只能在当前房间玩家在线时才可以
回复

使用道具 举报

叽里咕噜小胡桃 发表于 2023-6-7 09:37:11 | 显示全部楼层
为啥不直接 let players2 = players呢。。。?
回复

使用道具 举报

吃到苦就是得到了甜 发表于 2023-6-7 16:39:56 | 显示全部楼层
楼上正解
回复

使用道具 举报

天启楼主 发表于 2023-6-7 20:13:18 | 显示全部楼层

楼上是浅拷贝,可以百度一下区别
回复

使用道具 举报

天启楼主 发表于 2023-6-7 20:14:02 | 显示全部楼层
Othanse 发表于 2023-6-7 08:56
主要看目的是什么呢?
1. 如果是想在另外一个地方获取到玩家的话,可以使用Gameplay.getPlayer(playerId), ...

没事了 我遍历新建数组好了
回复

使用道具 举报

热门版块
快速回复 返回顶部 返回列表