Javascript根据先前的值结果添加百分比



我在javascript中有一个小函数,我需要将百分比添加到一个数字,但是它每次都需要将这个百分比添加到前一个结果行,我无法计算出

(function () {
if(fieldname5 == 18 && fieldname6 == 1) return fieldname38;
if(fieldname5 == 18 && fieldname6 == 2) return fieldname38*(5.30/100);
if(fieldname5 == 18 && fieldname6 == 3) return fieldname38*(5.20/100);
if(fieldname5 == 18 && fieldname6 == 4) return fieldname38*(5.10/100);
if(fieldname5 == 18 && fieldname6 == 5) return fieldname38*(5.00/100);
})()

这不起作用,因为它每次都将百分比添加到相同的值fieldname38但是我需要将下一个百分比添加到之前的结果中。

所以fieldname38 = 20000 + 5.30% = 210600下一行需要在前面的结果(210600)= 221551.2上加上5.20%

谁能给我举个例子?

This?

const vals = [1,1,.0053,.0052,.0051,.005]
if(fieldname5 == 18)
for (let i=1;i<=fieldname6;i++) {
fieldname38 += fieldname38*vals[i]
}
return fieldname38;
}

像这样?

var taxLevel = [1,5.30,5.20,5.10,5.00];
if(taxLevel.length<fieldname6 && fieldname6<0 && fieldname5 == 18){
return fieldname38*(taxLevel[fieldname6-1]/100)
}

这是正确的方式,在我的情况下,工作像一个魅力,灵感来自@mplungjan

(function () {
var vals = [1,1,0.053,0.052,0.051,0.05], result = fieldname38;
if(fieldname5 == 18)
for (let i=1;i<=fieldname6;i++) result += result*vals[i];
return result;
})()

享受吧!

不要每行返回,而是要为fieldname38分配一个值,如下所示:

(function () {
if (fieldname5 == 18 && fieldname6 == 2) {
fieldname38 = fieldname38 * (5.30 / 100);
}
if (fieldname5 == 18 && fieldname6 == 3) {
fieldname38 = fieldname38 * (5.20 / 100);
}
if (fieldname5 == 18 && fieldname6 == 4) {
fieldname38 = fieldname38 * (5.10 / 100);
}
if (fieldname5 == 18 && fieldname6 == 5) {
fieldname38 = fieldname38 * (5.00 / 100);
}
return fieldname38;
})();

最新更新