javascript - 在 JavaScript 中将变量名连接到其数组属性之一的正确语法是什么?
问题描述
这是我完整的工作代码。它成功地从前两个变量数组中的每一个中选择随机字符串,但我需要这些随机选择中的每一个都对应,以便在选择“word a”时,我们也会自动获得“image a.png”。
有没有办法让这些“选项”数组相互交谈?或者一种将内容捆绑在一起的方法,以便“word a”自动调用“image a.png”等等?实现这一点所需的特定语法将不胜感激!
var wordOptions = ["a","b","c","d","e"];
var imageOptions = ["a.png","b.png","c.png","d.png","e.png"];
var selectedWord = "";
var selectedImage = "";
var lettersinWord = [];
var numBlanks = 0;
var blanksAndSuccesses = [];
var wrongLetters = [];
var winCount = 0;
var lossCount = 0;
var remainingGuesses = 10;
function startGame() {
selectedWord = wordOptions[Math.floor(Math.random() *
wordOptions.length)];
lettersinWord = selectedWord.split("");
numBlanks = lettersinWord.length;
remainingGuesses = 10;
wrongLetters = [];
blanksAndSuccesses = [];
for (var i = 0; i < numBlanks; i++) {
blanksAndSuccesses.push("_");
}
document.getElementById("currentword").innerHTML =
blanksAndSuccesses.join(" ");
document.getElementById("guessesremaining").innerHTML =
remainingGuesses;
document.getElementById("wins").innerHTML = winCount;
document.getElementById("losses").innerHTML = lossCount;
}
function checkLetters(letter) {
var isletterInWord = false;
for (var i = 0; i < numBlanks; i++) {
if (selectedWord[i] == letter) {
isletterInWord = true;
}
}
if (isletterInWord) {
for (var i = 0; i < numBlanks; i++) {
if(selectedWord[i] == letter) {
blanksAndSuccesses[i] = letter;
}
}
}
else {
wrongLetters.push(letter);
remainingGuesses--
}
}
function roundComplete() {
document.getElementById("guessesremaining").innerHTML =
remainingGuesses;
document.getElementById("currentword").innerHTML =
blanksAndSuccesses.join(" ");
document.getElementById("lettersguessed").innerHTML =
wrongLetters.join(" ");
if (lettersinWord.toString() == blanksAndSuccesses.toString()) {
winCount++;
selectedImage = imageOptions[Math.floor(Math.random() *
imageOptions.length)];
document.getElementById("image").src = selectedImage;
document.getElementById("you").innerHTML = "YOU!";
var titleWins = selectedWord.toUpperCase();
document.getElementById("titlewins").innerHTML = titleWins;
document.getElementById("wins").innerHTML = winCount;
startGame();
}
else if (remainingGuesses == 0) {
lossCount++;
alert("You Lose!");
document.getElementById("losses").innerHTML = lossCount;
startGame();
}
}
startGame();
document.onkeyup = function(event) {
var letterGuessed = String.fromCharCode(event.keyCode).toLowerCase();
checkLetters(letterGuessed);
roundComplete();
}
解决方案
推荐阅读
- google-apps-script - 使用谷歌脚本查询多个谷歌表格到一个视图
- sql - 使用子字符串和 Concat
- unity3d - 如何使用 Photon Unity Networking 在 Unity 上实现多人游戏,使生成的玩家游戏对象的子对象对玩家私有
- c++ - 使用 Visual Studio 调试注入的 DLL 不起作用
- jenkins - 如果 Build failed,Jenkins JaCoCo 代码报告插件不会被执行
- node.js - Firebase:如何使用 NodeJs 发送密码重置电子邮件后端
- python - 如果第一个数字和长度相同,则从列表中删除数字
- python - Pandas df中的会计格式
- java - 属性设置后如何初始化数据库bean?
- google-chrome - 如何解决magento(在谷歌浏览器中)中缺少的图像上传按钮?