【发布时间】:2020-02-07 22:19:37
【问题描述】:
我正在用 Vue 写一个文字游戏。
您从一串随机字符开始,您必须输入一个可由该字符串组成的单词,例如对于“ABEOHSTD”,用户可以输入“BASE”获得 4 分。
我在 .txt 文件中有一个外部单词列表(我也无法使用,但这是一个单独的问题)我需要验证单词,但我无法验证单词是否可以生成来自给定的随机字符串。
我不知道如何确保每个字母只能在数组中出现的次数使用,甚至存储分数,但我只想让第一部分正常工作。
我尝试将输入的单词和随机字符串拆分为每个字符的数组,循环遍历数组并检查用户输入的字符串中的每个字符是否包含在随机字符串数组中。
splitUserCurrentWord = this.userAttemptedWord.split("");
for (var i = 0; i <= splitUserCurrentWord.length; i++) {
if (this.randomStringForGame.split("").includes(splitUserCurrentWord[i])) {
return true;
//i++
}
else {
return false;
}
}
}
目前,如果用户输入的单词中的所有字母都存在于随机字符串数组中,我希望解析为 true,但它似乎只根据数组的第一个字母解析为 true 或 false,这不是很好,因为只要第一个字母在随机字符串数组中,它就会注册为真/正确。
到目前为止整个事情的jsfiddle: https://jsfiddle.net/sk4f9d8w/
【问题讨论】:
-
return 将在第一次运行时退出 for 循环。 return true 需要在它之外。您可以尽快返回 false 并在整个过程中假设为 true
标签: javascript arrays vue.js