更新循环,以便如果13是num1和num2之间的数字

时间:2016-10-13 17:24:35

标签: javascript arrays for-loop

我需要更新循环,以便如果13是num1和num2(包括)之间的数字,则循环跳过它并继续将其余数字推送到数组。

我收到了将13推送到数组所需的错误。我的更新代码:

var addToArray = function(num1, num2) {
  var array = [];
  for (var i = num1; i <= num2; i++) {
    if(num1 > 12 && num2 < 14 ){
      continue;
    } 
    array.push(i);
  }
  return array;

};

2 个答案:

答案 0 :(得分:0)

for(var i = 0; i < sum.length; i++){
   if(sum[i] !== 13){
      sumOfArray += sum[i];
}

我假设num1 = 0且num2 = sum.length。你应该检查sum [i]中的项目是否不等于13,如果没有则添加项目。如果你这样做,它将跳过13号。

答案 1 :(得分:0)

&#13;
&#13;
var numsToAddExceptThriteen = function(num1, num2) {
    var numsInArray = [];
    var totalSum    = 0;

    //make sure we start with the smaller number;
    if (num1 > num2) {
        var tempNum = num2;
        num2 = num1;
        num1 = tempNum;
    }

    //cycle through values and skip 13
    for ( var i = num1; i <= num2; i++ ) {
        if ( i !== 13 ) {
            numsInArray.push(i);
            totalSum += i
        }
    }
    //log both values
    console.log(numsInArray);
    console.log(totalSum);
};
numsToAddExceptThriteen(10, 80);
&#13;
&#13;
&#13;

@Lkoprivica,我认为你需要的是双重的。首先,您需要定义num1和num2。我不确定你是如何产生这些数字的,所以无法猜测。就循环而言,你可以这样做:

var num1, num2; //these should be populated with numbers from somewhere

for(var i = 0; i < sum.length; i++){
    if( (sum[i] === 13 && sum[i] > num1 && sum[i] < num2 ) || (sum[i] === 13 && sum[i] < num1 && sum[i] > num2 ) ){
        //we skip the else and move along if sum[i] is between num1 and num2 and if it equals 13
    } else {
        sumOfArray += sum[i];
    }
}