这是我的答案,这是错误的,但我不知道为什么。逻辑似乎很好,但acc
大多数时候我返回的数字比预期的要大。
这是问题:
第一个输入数组包含考试的正确答案,例如 ["a", "a", "b", "d"]。第二个是“答案”数组,包含学生的答案。
这两个数组不为空且长度相同。返回此答案数组的分数,每个正确答案为 +4,每个错误答案为 -1,每个空白答案(空字符串)为 +0。
我的答案:
function checkExam(array1, array2) {
return array1.concat(array2).reduce((acc, curr, i) =>
curr[i] === curr[i + array1.length] ? acc + 4 : curr[i + array1.length] === '' ? acc + 0 : acc - 1, 0);
}