Tengo una pequeña función en javascript donde necesito agregar porcentajes a un número, pero necesita agregar ese porcentaje a la línea de resultados anterior cada vez, no puedo resolver esto
(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); })()Esto no funciona porque agrega el porcentaje al mismo valor fieldname38 cada vez. Pero necesito agregar el siguiente porcentaje al resultado anterior.
Entonces fieldname38 = 20000 + 5.30% = 210600 la siguiente línea necesita agregar 5.20% al resultado anterior (210600) = 221551.2
¿Podría alguien mostrarme un ejemplo por favor?
¿Este?
const vals = [1,1,.0053,.0052,.0051,.005] if(fieldname5 == 18) for (let i=1;i<=fieldname6;i++) { fieldname38 += fieldname38*vals[i] } return fieldname38; }¿Algo como esto?
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) }Esta es la forma correcta en mi caso y funciona a las mil maravillas, inspirado en @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; })()Disfrutar !