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);
}
4

2 回答 2

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 回答
0

您可以将所有数据放入一个二维数组并循环遍历该数组以找到您的答案。这是一些示例代码,您可以针对 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 回答