javascript - 如何以更好的方式处理我的阵列?
问题描述
我正在 Discord 中创建一个迷你游戏,它收集玩家 - 从参与者中创建一个数组,然后开始一个一个地杀死他们,直到只剩下一个幸存者。但是,我遇到了一个奇怪的问题,大多数时候赢家会出现,但有时不会。我一直在努力解决这个问题,尽管一开始是想用它来制作一个功能——但后来又一次——我想知道我在哪里犯了错误。这是代码:
function StartGame(array, runner) {
message.channel.send("**THE GAME HAS STARTED**");
let amountOfDays = array.length - 1;
let dailyDeaths = [];
for (let MainLoop = 0; MainLoop < amountOfDays; MainLoop++) {
let rando = array[Math.floor(Math.random() * array.length)];
dailyDeaths.push(rando);
let newarray = [];
for (let i = 0; i < array.length; i++) {
if (array[i] != rando) {
newarray.push(array[i]);
}
}
array = newarray;
}
let winnerOfTheRace = array.join(", ");
if (winnerOfTheRace) {
runner.send("**runner debug** - Everything calculated (winner is going to be **" + winnerOfTheRace + "**). Launching the game.");
} else {
runner.send("**runner debug** - Everything calculated (no winner - this is the error here.).");
}
LoopThroughTheGame(dailyDeaths, winnerOfTheRace);
return;
}
.join(",")
设置是如果我想在winnerOfTheRace
未来设置多个获胜者。但目前我希望它只返回一个名字。它通常会这样做。随机不会。我究竟做错了什么?:D
解决方案
推荐阅读
- java - 我如何理解这种 Java 语法,方法名前括号中的类名?
- python - 为什么此 Python 代码在执行后显示“TypeError:'int' object is not iterable”而没有任何问题?
- mysql - 条件选择语句中的自动增量临时列
- email - 电子邮件 UID_VALIDITY - 将电子邮件从垃圾邮件/存档移动到主收件箱
- azure - 属性“Country.IdCountry”属于“Guid”类型,当前数据库提供程序不支持
- ios - Firebase Crashlytics iOS 隐私设置
- java - DynamoDb 模型从 Java 实体扩展而来,该实体具有其他 Java 实体的字段
- android - Natviescript-Angular Android 应用程序:错误:无法加载标签栏图标:res://
.png - typescript - 在运行下一个循环之前,我们如何确保所有的承诺都得到解决
- ruby - 如何在 Ruby 中将多个符号分配给相同的值?