if语句条件逻辑

时间:2016-02-19 04:53:17

标签: javascript

我需要这个脚本的帮助。我正在尝试编写一个程序,其中每个数组元素都分配给一个" 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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

只有当NUMBERS [i]中的值与数组1的位置相同时,才会匹配。

if(NUMBERS[i] === one[i]){

将其更改为:

if (one.indexOf(NUMBERS[i]) !== -1){

在一个中测试NUMBERS [i]的存在。

此外,零和一个数组都有四个。

正如@TJCrowder所说 - 答案是七。

您可以省略:

TOTAL += 0

添加零不会改变任何东西。