我需要这个脚本的帮助。我正在尝试编写一个程序,其中每个数组元素都分配给一个" point"。我汇总了所有数组并将其分配给变量。该数组运行if语句以计算得分。
对于这个例子,我试图得到总共6个。然而,当我运行程序时,我得到了" 2"而不是" 6"在控制台日志中。我应该如何编写if条件以获得6的结果?
var zero = [1,2,3,5,7]; // 0
var one = [0,4,6,9]; // 1
var two = 8; //2
function calculate(){
var NUMBERS = zero.concat(one,two);
var TOTAL = 0; // 6
for(var i = 0; i < NUMBERS.length; i++){
if(NUMBERS[i] === one[i]){
TOTAL += 1;
}else if(NUMBERS[i] == two){
TOTAL +=2;
}else {
TOTAL += 0;
}
}
console.log(TOTAL);
}
calculate();
&#13;
答案 0 :(得分:1)
只有当NUMBERS [i]中的值与数组1的位置相同时,才会匹配。
if(NUMBERS[i] === one[i]){
将其更改为:
if (one.indexOf(NUMBERS[i]) !== -1){
在一个中测试NUMBERS [i]的存在。
此外,零和一个数组都有四个。
正如@TJCrowder所说 - 答案是七。
您可以省略:
TOTAL += 0
添加零不会改变任何东西。