2013-10-31 2 views
0

필자는 jScript를 처음 사용하고 [이 코드는 완벽하게 작동합니다.]이 코드를 작성했습니다. 그 목적은 대출 금액을 초과하지 않는지를 테스트하는 것입니다. 과정은 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

당신은을 통해 2 차원 배열과 루프에 모든 데이터를 넣을 수 = 7000 범위 즉 6000를 기반으로 용어를 반환 대출 금액을 통과 한 배열로 통합 할 수 배열을 사용하여 답을 찾으십시오. 다음은 JScript 구현을 조정할 수있는 몇 가지 샘플 코드입니다. 마지막 항목은 12000에서 최대 대출 금액 또는 Number.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; 
    } 
} 

경고 (답변); 용어가 12의 배수가와 그룹 1000을 기반으로

+0

정말 감사합니다 밥 프롬프트 응답이 매우 –

+0

환영을 평가했다. 또한 2D 배열을 사용하여 내 대답을 업데이트했습니다. –

0

는 용어는 계산 될 수있다 :

% 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 
%