Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

180
Visualizações
Javascript add a percentage based on previous value result

I have a little function in javascript where i need to add percentages to a number, But it needs to add that percentage to the previous result line everytime, i can't figure this out

(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);

})()

This is not working because it adds the percentage to the same value fieldname38 everytime But i need to add the next percentage to the previous result.

So fieldname38 = 20000 + 5.30% = 210600 next line needs to add 5.20% to previous result (210600) = 221551.2

Could someone show me an example please ?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

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

about 4 years ago · Juan Pablo Isaza Relatório

0

Something like this?

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)
}
about 4 years ago · Juan Pablo Isaza Relatório

0

This is the correct way in my case and working like a charm, inspired by @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;
})()

Enjoy !

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda