JSFiddle - React, Tailwind, and code Playground

JavaScript

var tiers = [
    { percentage: 10, amount: 1000 },
 { percentage: 20, amount: 2000 },
 { percentage: 30, amount: 3000 }
];

function calculateFee(amount) {
     var fee = 0;
  var remainingAmount = amount;
 
     for (i = 0; i < tiers.length; i++) {
      if (tiers[i].amount <= remainingAmount) {
              if (tiers[i].amount <= amount) {
             fee = fee + amount * (tiers[i].percentage / 100);
             remainingAmount = remainingAmount - tiers[i].amount;
                    } else {
           fee = fee + tiers[i].amount * (tiers[i].percentage / 100);
           remainingAmount = remainingAmount - tiers[i].amount;
                    }            
      } else {
             fee = fee + remainingAmount * (tiers[i].percentage / 100);
             remainingAmount = remainingAmount - tiers[i].amount;
      }
      
  }
 return fee;
  
}

alert(calculateFee(6000));