我有一個數組,如果它是第一個元素,我必須使用與數組中其餘元素相比的不同公式進行計算。問題是循環只能進入if條件並且不會進入else條件。如果數組中的第一個元素做別的事
不知道我是否做這個權利。
下面的代碼:
var days = 535; //user selection
var val = 3; //user selection
var baseDays = 182.5;
var someValArr_1 = [12,16,23,31,33,34,39,45,49,54,59,62,62,so on]; //same for 2 other arrays
var someValArrDiff_1 = diff(someValArr_1); //function to subtract two consecutive elements in array
var noOfDays =[182.5,365,547.5,730,912.5,so on];
var arrayLength = noOfDays.length;
for (var i = 0; i < arrayLength; i++) {
if(noOfDays[i] == noOfDays[0]) { //182.5
switch(val) {
case 1:
discount = days/noOfDays[i] * someValArrDiff_1[i];
break;
case 2:
discount = days/noOfDays[i] * someValArrDiff_2[i];
break;
case 3:
discount = days/noOfDays[i] * someValArrDiff_3[i];
break;
default:
break;
}
}
else {
if(noOfDays[i] < days && days < noOfDays[i+1]){
switch(val) {
case 1:
discount = (days-noOfDays[i]) * someValArrDiff[i+1]/baseDays + someValArr_1[i];
break;
case 2:
discount = (days-noOfDays[i]) * someValArrDiff_2[i+1]/baseDays + someValArr_2[i];
break;
case 3:
discount = (days-noOfDays[i]) * someValArrDiff_3[i+1]/baseDays + someValArr_3[i];
break;
default:
break;
}
}
}
console.log("Discount " +discount);
return discount;
}
我試圖if(days < noOfDays[0])
但這完全跳過的if-else條件,返回0
爲什麼不只是'if(i == 0)'? – captncraig
是否做到了這一點,但它返回0.如果第一個爲假,它不會進入else條件。 – input
天申報在哪裏? – Jules