Javascript 数组在JS中的行为非常奇怪
好的,我在Javascript中有一个简单的for循环,它将创建一个数字数组,我需要这样做,这样我就可以交换它们来创建随机位置。但无论如何,这是代码Javascript 数组在JS中的行为非常奇怪,javascript,arrays,Javascript,Arrays,好的,我在Javascript中有一个简单的for循环,它将创建一个数字数组,我需要这样做,这样我就可以交换它们来创建随机位置。但无论如何,这是代码 var aliveMonsters = []; var deadMonsters = 0; for( var i = 0; i < monsterAmount; i++ ) { if( monsters[i].hp > 0 ) { v
var aliveMonsters = [];
var deadMonsters = 0;
for( var i = 0; i < monsterAmount; i++ )
{
if( monsters[i].hp > 0 )
{
var place = i - deadMonsters;
var placed = i - deadMonsters;
aliveMonsters[place] = placed;
}
else
{
deadMonsters -= 1;
}
//console.log(i);
}
console.log(aliveMonsters);
这是正确的,但是当其中一个死亡(0、1甚至2)时,数组就会变成这样
[0, 3: 3]
此代码在玩家每次移动时都会被调用,在怪物死亡(HP设置为0)之前一直正常工作。有人知道为什么会这样吗
这是一张图片,不要担心显示未定义的数组。
放置死怪+=1更正了错误你是不是想键入
[0,3,3]
而不是[0,3:3]
?不,[0,3:3]是我得到的[0,3:3]=>语法错误:意外标记:
不,这就是我在谷歌Chrome控制台中得到的死怪+=1
?
[0, 3: 3]