0

私は jScript を初めて使用し、[完全に機能する] このコードを作成しました。その目的は、ローン金額の期間を超えていないことをテストすることです。プロセスを 1 つの配列に統合して、ローン金額を渡すことができます。この配列は、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);
}
4

2 に答える 2

0

すべてのデータを 2D 配列に入れ、配列をループして答えを見つけることができます。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;
    } 
}

アラート (回答);

于 2013-10-31T01:29:57.133 に答える
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
%
于 2013-11-02T09:51:24.760 に答える