Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么赢了';t";。包括「;使用我的二维数组?_Javascript_Html_Arrays_Function - Fatal编程技术网

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