2013-10-31 54 views
0

我是jScript的新手,已經編寫了這個代碼[它完美地工作]。其目的是爲了測試貸款額度沒有超過。可在過程被合併到您通過其基於範圍,即6000術語返回到7000 = 96多值數組

function TestMaxTerm() 
{ 
    var LnAmt = 14000 //Testing Purposes 
     var Term = 0 //Testing Purposes 

     if (LnAmt > 0 && LnAmt <= 1000){Term = 0;} 
     if (LnAmt > 1000 && LnAmt <= 2000){Term = 1;} 
     if (LnAmt > 2000 && LnAmt <= 3000){Term = 2;} 
     if (LnAmt > 3000 && LnAmt <= 4000){Term = 3;} 
     if (LnAmt > 4000 && LnAmt <= 5000){Term = 4;} 
     if (LnAmt > 5000 && LnAmt <= 6000){Term = 5;} 
     if (LnAmt > 6000 && LnAmt <= 7000){Term = 6;} 
     if (LnAmt > 7000 && LnAmt <= 8000){Term = 7;} 
     if (LnAmt > 8000 && LnAmt <= 9000){Term = 8;} 
     if (LnAmt > 9000 && LnAmt <= 10000){Term = 9;} 
     if (LnAmt > 10000 && LnAmt <= 11000){Term = 10;} 
     if (LnAmt > 11000 && LnAmt <= 12000){Term = 11;} 
     if (LnAmt > 11000){Term = 12;} 


     //Obtain Maximum Term for Loan Amount 
     var MaxTerm = new Array(); 
     MaxTerm[0] = 24; MaxTerm[1]=36; MaxTerm[2] = 48; MaxTerm[3] = 60; 
     MaxTerm[5] = 72; MaxTerm[5]=84; MaxTerm[6] = 96; MaxTerm[7] = 108; 
     MaxTerm[8] = 120; MaxTerm[9]=132; MaxTerm[10] = 164; MaxTerm[11] = 176; 
     MaxTerm[12] = 420; 


     var text = MaxTerm[Term]; 
     alert(text); 
} 

回答

0

你可以把所有的數據到通過一個二維數組和循環貸款額度一個數組數組來找到你的答案。 下面是一些示例代碼,您可以針對您的JScript實現進行調整。您的最後一項可能從12000到您的最高貸款額或數量.MAX_VALUE

var loanAmt = 2200; 
var answer = -1; 

var myData = 
[ 
    [0, 1000, 24], 
    [1000, 2000, 36], 
    [2000, 3000, 48], 
    [3000, 4000, 60] 
]; 

for (var x=0; x < myData.length; x++) { 

    if ((loanAmt > myData[x][0]) && (loanAmt <= myData[x][1])) { 
     answer = myData[x][2]; 
     break; 
    } 
} 

alert(answer);

+0

非常感謝鮑勃你的迴應是非常讚賞 –

+0

您的歡迎。我也更新了我的答案以使用2D數組。 –

0

由於條件是12的倍數和分組基於1000的術語,可以計算:

% function f(amt) {return 12 * (2 + Math.floor(amt/1000));} 
undefined 
% f(6500) 
96 
% f(3999) 
60 
% f(4000) 
72 
% 

On second thought: 

% function g(amt) {return 24 + 12 * Math.floor((amt - 1)/1000);} 
undefined 
% g(1) 
24 
% g(999) 
24 
% g(1000) 
24 
% g(1001) 
36 
% g(6000) 
84 
% g(6001) 
96 
% g(6999) 
96 
% g(7000) 
96 
% g(7001) 
108 
%