Javascript 为什么赢了';t";。包括「;使用我的二维数组?
简介:Javascript 为什么赢了';t";。包括「;使用我的二维数组?,javascript,html,arrays,function,Javascript,Html,Arrays,Function,简介: 对于学校,我必须做一个项目,检查“测试”的答案,以及答案是否正确。我们必须使用二维数组和“.includes”函数来实现这一点 必填项: 必须包含“.includes” 我所尝试的: 在if语句的两个数组中删除和添加“i” Console.log-ing测试以确保不是阵列故障 谷歌搜索到澳大利亚并返回 好吧,我收到了一些很棒的答案,但是我不明白他们在做什么(即使在研究和谷歌搜索之后)。我已经修改了我的代码,使它更简短,更容易阅读。我仍然需要帮助 我得到的: 代码: HTML:
对于学校,我必须做一个项目,检查“测试”的答案,以及答案是否正确。我们必须使用二维数组和“.includes”函数来实现这一点 必填项:
- 必须包含“.includes”
- 在if语句的两个数组中删除和添加“i”
- Console.log-ing测试以确保不是阵列故障
- 谷歌搜索到澳大利亚并返回
代码:
- HTML:
<html> <head> <title>a test</title> <script src="script.js" defer></script> </head> <body> <h1>Answer the questions</h1> <div> <h3>What is the capital of France?</h3> <input type="text" name="capFrance" id="capFrance"> <br> <h3>How many legs does a spider have?</h3> <input type="number" name="legSpider" id="legSpider"> <br> <h3>What is the biggest lake in the Netherlands?</h3> <input type="text" name="lakeNL" id="lakeNL"> <br> <h3>What is a german Car brand?</h3> <input type="text" name="gerBrand" id="gerBrand"> <br> <h3>Name an island</h3> <input type="text" name="island" id="island"> <br><br> <button onclick="answerChecker()">Check answers! </button> </div> </body> </html>
测验 回答问题 法国的首都是什么?
一只蜘蛛有几条腿?
荷兰最大的湖是什么?
什么是德国汽车品牌?
命名一个岛屿
检查答案! - JavaScript:
function answerChecker() { var answersInput = document.querySelectorAll("input"); var rightAnswers = [ ["Parijs"], ["8]", ["Ijselmeer"], ["Volkswagen", "Audi", "Opel", "Porsche", "BMW", "Mercedes", "Mercedes-Benz"], ["Texel", "Vlieland", "Terschelling", "Ameland", "Schiermonnikoog"], ]; var i; for (i = 0; i < rightAnswers.length; i++) { if (rightAnswers[i].includes(answersInput[i].value) == true) { answersInput[i].style.backgroundColor = "green"; } else { answersInput[i].style.backgroundColor = "red"; } } }
function answerChecker(){ var answersInput=document.queryselectoral(“输入”); var rightAnswers= [ [“巴黎人”], ["8]", [“Ijselmeer”], [“大众”、“奥迪”、“欧宝”、“保时捷”、“宝马”、“梅赛德斯”, “梅赛德斯-奔驰”], [“Texel”、“Vlieland”、“Terschelling”、“Ameland”, “Schiermonnikoog”], ]; var i; 对于(i=0;i
编辑:我已将所有内容翻译成英语,我已将一些代码替换为更有效、更清晰的阅读,并删除了“旧”代码。您可以大大缩短和简化您的脚本:
- 我将提供的答案输入重新组织到单个数组
qarr
- 所有正确答案现在都在数组
中,该数组还包含具有正确答案选项的子数组(即使对于仅存在一个选项的情况)。所有答案都已转换为小写,以简化比较aarr
- 与
的比较本身现在微不足道.includes()
- 您可以取消注释
document.body.addEventListener(“输入”,checkone)代码>行以对输入执行直接检查
constqarr=[…document.querySelectorAll(“输入”)],
aarr=[“巴黎”、“巴黎”]、['8']、[“艾塞尔米尔”],
[“大众”、“奥迪”、“欧宝”、“保时捷”、“宝马”、“梅赛德斯”、“梅赛德斯-奔驰”],
[“texel”、“vlieland”、“terschelling”、“ameland”、“schiermonnikoog”];
//document.body.addEventListener(“输入”,勾选一项);
document.querySelector(“button”).onclick=ev=>qarr.forEach(a=>checkone({target:a}));
功能检查一(ev){
const el=ev.target,i=qarr.indexOf(el);//获取el和问题的索引
el.style.backgroundColor=aarr[i]。包括(el.value.trim().toLowerCase())?“绿色”:“红色”;
}
回答问题
法国的首都是什么?
一只蜘蛛有几条腿?
荷兰最大的湖是什么?
什么是德国汽车品牌?
命名一个岛屿
检查答案!
您可以大大缩短和简化脚本:
- 我将提供的答案输入重新组织到单个数组
qarr
- 所有正确答案现在都在数组
中,该数组还包含具有正确答案选项的子数组(即使对于仅存在一个选项的情况)。所有答案都已转换为小写,以简化比较aarr
- 与
的比较本身现在微不足道.includes()
- 您可以取消注释
document.body.addEventListener(“输入”,checkone)代码>行以对输入执行直接检查
constqarr=[…document.querySelectorAll(“输入”)],
aarr=[“巴黎”、“巴黎”]、['8']、[“艾塞尔米尔”],
[“大众”、“奥迪”、“欧宝”、“保时捷”、“宝马”、“梅赛德斯”、“梅赛德斯-奔驰”],
[“texel”、“vlieland”、“terschelling”、“ameland”、“schiermonnikoog”];
//document.body.addEventListener(“输入”,勾选一项);
document.querySelector(“button”).onclick=ev=>qarr.forEach(a=>checkone({target:a}));
功能检查一(ev){
const el=ev.target,i=qarr.indexOf(el);//获取el和问题的索引
el.style.backgroundColor=aarr[i]。包括(el.value.trim().toLowerCase())?“绿色”:“红色”;
}
回答问题
法国的首都是什么?
一只蜘蛛有几条腿?
荷兰最大的湖是什么?
什么是德国汽车品牌?
命名一个岛屿
检查答案!
正在使用更改的代码段:
->[“8]”,
[“8]”,
->var i
let i
- 省略
==true
function answerChecker(){
var answersInput=document.queryselectoral(“输入”);
var rightAnswers=[
[“巴黎人”],
["8"],
[“Ijselmeer”],
[“大众”、“奥迪”、“欧宝”、“保时捷”、“宝马”、“梅赛德斯”,
“梅赛德斯-奔驰”
],
[“Texel”、“Vlieland”、“Terschelling”、“Ameland”,
“Schiermonnikoog”
],
];
for(设i=0;i