首页 > 解决方案 > 在 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();

 }

标签: javascriptarraysproperties

解决方案


推荐阅读