Javascript 简单编程数学

Javascript 简单编程数学,javascript,Javascript,我正在尝试随机化对象中的对象 do{ e = enemyList[Math.floor(enemyList.length * Math.random())]; } while (e.level > (player.level + 5) && e.level < (player.level - 5)); return e; do{ e=enemyList[Math.floor(enemyList.length*Math.rand

我正在尝试随机化对象中的对象

    do{
        e = enemyList[Math.floor(enemyList.length * Math.random())];
    } while (e.level > (player.level + 5) && e.level < (player.level - 5));
    return e;
do{
e=enemyList[Math.floor(enemyList.length*Math.random())];
}而(e.level>(player.level+5)和&e.level<(player.level-5));
返回e;
我如何使“e”必须在上面5级和下面5级之间才能停止循环


是的,这真的很容易,但我的头疼是因为一些原因:我认为你应该使用
而不是
。如果低于5或高于5。否则,该条件将永远无法满足。

我认为您应该使用
而不是
。如果低于5或高于5。否则,该条件将永远无法满足。

您的比较方法是错误的(
+
应该是
-
,反之亦然):

}而(e.level>(player.level-5)和&e.level<(player.level+5));

(你的问题的措辞有些含糊不清;可能是你应该使用
=
你的比较方法是错误的(
+
应该是
-
,反之亦然):

}而(e.level>(player.level-5)和&e.level<(player.level+5));


(你问题的措辞有些含糊不清;可能是你应该使用
=
怎么可能同时是上面5级和下面5级?你能再解释一下吗,或者举个例子吗?我不知道你说的上面5级和下面5级是什么意思。而且,看起来你r函数只返回一个对象(除非我读错了),那么为什么要循环呢?我希望敌人的等级在玩家的等级减5和加5之间。所以while语句应该在10和20之间停止,如果你是15级,它怎么可能同时是5级以上和5级以下?你能再解释一下吗,或者举个例子吗?我不知道你说的5级以上和5级以下是什么意思另外,函数似乎只返回一个对象(除非我读错了),那么为什么要循环呢?我希望敌人的等级在玩家的等级减5和加5之间。那么while语句应该在10和20之间停止,如果你是15级,那么顺序会有什么不同?除非有副作用,
&&&
是可交换的。@Barmar:如果你仔细看,区别会超过顺序(事实上,这与订单无关).你改变了感觉--你正在测试
e
是否在5分以下和5分以上之间。这将使其在5分以上和5分以下之间,但我相信OP是在问如何使其在5分以上或5分以下。我们真的应该等到海报澄清问题后再尝试回答。如文所述,这个问题毫无意义。有什么区别吗订单有效吗?除非有副作用,
&&
是可交换的。@Barmar:如果你仔细看,差异大于订单(事实上,它与订单无关).你改变了感觉--你正在测试
e
是否在5分以下和5分以上之间。这将使它在5分以上和5分以下之间,但我相信OP是在问如何使它在5分以上或5分以下。我们真的应该等到海报澄清了问题后再尝试回答。如文所述,这个问题毫无意义。为什么?我想这样做只在-5和+5之间哦,我觉得你希望它在-5和+5之间。在这种情况下,NPE的答案似乎可以满足你的要求。+1不,这实际上是正确的答案,因为OP希望循环在
e
超出范围时继续。一旦
e
在范围内,循环将退出如果OP遵循这个答案。是的,这个答案是正确的。有时会停下来,or总是起作用。为什么?我希望它只在-5和+5之间。哦,我的印象是你希望它在这上面和下面。在这种情况下,NPE的答案似乎会满足你的要求。+1不,这实际上是正确的答案,因为at OP希望循环在
e
超出范围时继续。如果OP遵循此答案,循环将在
e
超出范围后退出。是的,此答案是正确的。有时会停止循环,or始终有效。
} while (e.level > (player.level - 5) && e.level < (player.level + 5));