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