Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

179
Views
Javascript agrega un porcentaje basado en el resultado del valor anterior

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?

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

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

about 4 years ago · Juan Pablo Isaza Report

0

¿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) }
about 4 years ago · Juan Pablo Isaza Report

0

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 !

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!