Javascript 删除可能有多个指向它的指针的对象
我正在制作一个游戏,游戏中有很多角色都是物体。当一个字符死亡时,我也想删除它的所有指针,问题是我不知道这些指针有多少或在哪里。i、 e角色A可能将角色B存储在其视野阵列中,或者该角色可能保存在物理引擎位于地面阵列上的对象中。有没有办法强制将对象从其所在的所有数组中删除Javascript 删除可能有多个指向它的指针的对象,javascript,arrays,pointers,Javascript,Arrays,Pointers,我正在制作一个游戏,游戏中有很多角色都是物体。当一个字符死亡时,我也想删除它的所有指针,问题是我不知道这些指针有多少或在哪里。i、 e角色A可能将角色B存储在其视野阵列中,或者该角色可能保存在物理引擎位于地面阵列上的对象中。有没有办法强制将对象从其所在的所有数组中删除 character.prototype._delete_self () { this.delete_everywhere(); } 我曾尝试在角色可能所在的所有数组中运行,但这需要大量的性能。我还遇到了一个问题,如果我使
character.prototype._delete_self () {
this.delete_everywhere();
}
我曾尝试在角色可能所在的所有数组中运行,但这需要大量的性能。我还遇到了一个问题,如果我使用值I运行数组,for循环很容易失去同步,因为它变短了。是否可以先删除数组中的位置,然后再压缩数组
var arr = new Array(1,2,3,4,5);
arr[3]=null;
document.write("1: "+arr);
arr.compress();
document.write("2: "+arr);
该文件:
1: 1,2,,4,5
2: 1,2,4,5
如果你唯一的问题是在一个循环中改变一个数组,只需以相反的顺序对它进行迭代。。。谢谢你的一般问题,看起来你想要一个对对象的弱引用。只有WeakMaps提供了这一功能,但我不知道这一功能在这里的应用情况如何,它仍然是实验性的: