如何检查键值对是否匹配(无论大小写)



我正在创建一个非常简单的程序,它在西班牙语翻译中显示英语短语和用户类型。短语如下:

const phrases = {
"Hello": "Hola",
"Goodbye" : "Adios",
//etc...
}

以及匹配逻辑:

Spanish_Phrases.prototype.calculate = function() {
this.answer = (document.getElementById("answer").value);
var question = $("#question").text();
var questionMatcher = phrases[question].toString();
var answerMatcher = this.answer;
if (questionMatcher.ToLowerCase() == answerMatcher.ToLowerCase()) {
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 Quiz</h2>
<h3 id="question"></h3>
<button type="button" id="questionbutton">Get English Phrase</button>
<form action="#" id="form" name="form" onsubmit="return false;">
Type Spanish translation...<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>

然而,目前如果用户输入的答案大小写不正确,就会被标记为错误。这就是为什么我尝试使用"ToLowerCase",但它说它不是一个函数。我在字符串上使用它,当我在控制台中调试时,它显示它们是刺痛的,但这会引发一个错误。我的代码中是否遗漏了一些非常明显的内容?非常感谢您的帮助,谢谢!

.ToLowerCase()–不是函数,因为在camelcase中必须以小写字母开头,所以它应该是.toLowerCase()

最新更新