我需要更新循环,以便如果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;
};
答案 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)
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;
@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];
}
}