【问题标题】:How to check if a value matches its key in hash in Javascript如何检查一个值是否与它在 Javascript 中的哈希键匹配
【发布时间】:2020-04-05 12:48:44
【问题描述】:

我正在做一个小项目,其中随机生成一个西班牙语单词,用户输入英文翻译,然后他们点击查看它是对还是错。目前它处于早期阶段,但我无法正确匹配逻辑。到目前为止,我有:

Spanish_Phrases.prototype.calculate = function(){
  const phrases = {
    hola: "hello",
    adios: "bye",
    bonita: "bonita",
  };
  this.answer = (document.getElementById("answer").value);

    if(this.answer == Object.values(phrases)) {
      alert("Correct")
  } else {
      alert("Try again");
  }
}

HTML 在这里:

<!DOCTYPE html>
<html>
<head>
    <title>Spanish</title>
</head>
<body>
    <center>
        <script src="./src/spanish.js">
        </script>
        <link href="skeleton.css" rel="stylesheet">
        <section>
            <h2>Spanish</h2>
            <h3 id="question"></h3>
      <button type="button" id="questionbutton">Get question</button>
            <form action="#" id="form" name="form" onsubmit="return false;">
                Enter answer<br>
                <input id="answer" name="answer" type="text"><br>
                <br>
                <input id="submit" type="submit" value="Submit">
            </form>
        </section>
    </center>
    <script src="https://code.jquery.com/jquery-3.4.1.min.js">
    </script>
    <script>

  $(function () {

  var spanish = new Spanish_Phrases();

  $('#questionbutton').on('click', function(){
    spanish.randomize();
    $('#question').text(spanish.question);
  })
  $('#submit').on('click', function() {
    spanish.calculate();
  });
});

</script>

答案是用户在表单中提交的内容。如果该答案值正确匹配其相应的键,我希望它显示正确,但无法弄清楚如何。

对不起,我很欣赏这可能是非常基础的,但我的 javascript 知识非常生疏。有人可以帮忙吗?

【问题讨论】:

  • Object.values 返回一个数组,并且您正在将数组与字符串进行比较。
  • Related, but not exactly duplicate。知道人们总是会被触发,我会再次有点苛刻:恕我直言,在你的基础上工作(阅读另一个长的 javascript 教程,做一些简单的编码挑战,然后阅读相关函数的作用),将帮助每个参与的人最多。您正在通过反复试验进行编程,这几乎总是会早晚以灾难告终。

标签: javascript hash


【解决方案1】:

你不应该知道你问了哪个问题吗?只需检查它是否匹配。

if ( phrases[ spanish.question ] == answer ) { ... }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多