Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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)_Javascript_Arrays_Function_Boolean - Fatal编程技术网

创建一个计算两个数组中匹配项的函数。(Javascript)

创建一个计算两个数组中匹配项的函数。(Javascript),javascript,arrays,function,boolean,Javascript,Arrays,Function,Boolean,我正在尝试创建一个函数,用于为学生论文评分并返回分数。为此,我尝试在函数中添加一个循环,将studentAnswers与TeacherScope.length进行比较,并添加了一个空变量score=0。我希望每次学生回答[I]==教师检查[I]时,分数增加1分。我尝试使用布尔值,但无法正确使用,以下是我得到的结果: function gradeQuiz(studentAnswers, teacherAnswers) { let score= 0 for (let i=0; i<te

我正在尝试创建一个函数,用于为学生论文评分并返回分数。为此,我尝试在函数中添加一个循环,将studentAnswers与TeacherScope.length进行比较,并添加了一个空变量score=0。我希望每次学生回答[I]==教师检查[I]时,分数增加1分。我尝试使用布尔值,但无法正确使用,以下是我得到的结果:

function gradeQuiz(studentAnswers, teacherAnswers)
{
  let score= 0
  for (let i=0; i<teacherAnswers.length; i++)
    if (studentAnswers[i]==teachersAnswers[i])
    {
      score= ++
    }
    return score
}
gradeQuiz(['C', 'D', 'B'],['C', 'A', 'B'])

我哪里出错了?

这里有一些语法错误:

function gradeQuiz(studentAnswers, teacherAnswers){
  let score = 0;
  for (let i=0; i<teacherAnswers.length; i++){    // include open brace
    if (studentAnswers[i] == teacherAnswers[i]){  // typo, should be "teacherAnswers"
      score ++;                                   // =++ should just be ++
    }
   }                                              // close brace
   return score;
}
gradeQuiz(['C', 'D', 'B'],['C', 'A', 'B']);

以后,请尝试在浏览器的控制台中查看。使用控制台错误消息可以很容易地发现诸如缺少大括号或变量名中的键入错误。

您在这里遇到了一些语法错误:

function gradeQuiz(studentAnswers, teacherAnswers){
  let score = 0;
  for (let i=0; i<teacherAnswers.length; i++){    // include open brace
    if (studentAnswers[i] == teacherAnswers[i]){  // typo, should be "teacherAnswers"
      score ++;                                   // =++ should just be ++
    }
   }                                              // close brace
   return score;
}
gradeQuiz(['C', 'D', 'B'],['C', 'A', 'B']);

以后,请尝试在浏览器的控制台中查看。使用控制台错误消息应该很容易发现诸如缺少大括号或变量名中的键入错误。

实际上,代码中有几个错误

score++的编写方式不正确。 老师的答案拼错了。 你可以检查我的解决方案

功能等级测验学生回答、教师回答 { 让分数=0
对于let i=0;i来说,您的代码中实际上有几个错误

score++的编写方式不正确。 老师的答案拼错了。 你可以检查我的解决方案

功能等级测验学生回答、教师回答 { 让分数=0
对于let i=0;i补充Sajeeb的评论,使用score++而不是score=++,这不是一个有效的表达式。如果需要,也可以使用score+=1。此外,参数是teacherAnswers,您编写了teachersAnswers。如

    function gradeQuiz(studentAnswers, teacherAnswers)
    {
       var score= 0
       for (let i=0; i<teacherAnswers.length; i++) {
         if (studentAnswers[i]==teacherAnswers[i])
        {
          score++
        }
    }
         return score
   }

    console.log(gradeQuiz(['a', 'b', 'c'], ['a', 'b', 'c']))

希望我能帮上忙!

补充Sajeeb的评论,用score++代替score=++这不是一个有效的表达式。如果你愿意,你也可以用score+=1。另外,参数是teacherAnswers,你写了teacherAnswers。比如

    function gradeQuiz(studentAnswers, teacherAnswers)
    {
       var score= 0
       for (let i=0; i<teacherAnswers.length; i++) {
         if (studentAnswers[i]==teacherAnswers[i])
        {
          score++
        }
    }
         return score
   }

    console.log(gradeQuiz(['a', 'b', 'c'], ['a', 'b', 'c']))
希望我有所帮助!

使用大括号表示for loopalway score++而不是score=+++使用大括号表示for loopalway score++而不是score=+++返回分数必须在循环之外返回分数必须在循环之外