我有这个示例代码
var randFriend = friendList[Math.floor(Math.random() * friendList.length)];
if (randFriend == admin) {
//Here
}
else if (randFriend != admin) {
client.removeFriend(randFriend);
}
如果if randfriend == admin
再次执行,我该怎么办var randFriend =friendList[Math.floor(Math.random() *friendList.length)];
并再次检查 if(randFriend == admin)
。换句话说,重新启动。
我认为这是通过 return 完成的,但我不知道。谢谢
最佳答案
我不会在随机条件下使用递归或循环,因为您将在估计运行时方面遇到问题,并且如果用例发生变化并且您将有更多想要忽略的元素,那么找到正确元素的概率会减少。
更好的想法是过滤数组以删除要忽略的元素,然后从该列表中选择一个随机元素。
var nonAdminList = friendList.filter(person => person != admin);
if( nonAdminList.length === 0 ) {
throw new Error('no non admin persons available');
}
client.removeFriend(nonAdminList[Math.floor(Math.random() * nonAdminList.length)]);
关于javascript - Nodejs 或 Java 中的 if 和 return,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44725975/