JSFiddle - React, Tailwind, and code Playground
by Al Kasih
HTML
<div id="result">
</div>
JavaScript
var userA_income = '75000000';
var userB_income = '750000000';
var detailMutaion = [];
var resultAnnualIncomeTax = getAnnualIncomeTax(userB_income);
printToTable(resultAnnualIncomeTax);
console.log("resultAnnualIncomeTax is", resultAnnualIncomeTax);
console.log("detailMutaion is", detailMutaion);
function printToTable(detailTax) {
}
function getAnnualIncomeTax(income){
var currentRate = [
{id: 1, min_cost:0, max_cost: 50000000, currency:'IDR', rate_percentage: 5},
{id: 2, min_cost:50000000, max_cost: 250000000, currency:'IDR', rate_percentage: 15},
{id: 3, min_cost:250000000, max_cost: 500000000, currency:'IDR', rate_percentage: 25},
{id: 4, min_cost:500000000, max_cost: false, currency:'IDR', rate_percentage: 30}
];
for(var i=0; i<currentRate.length; i++){
if(income > 0) {
if(income >= currentRate[i].min_cost) {
if(currentRate[i].max_cost != false) {
rateRange = currentRate[i].max_cost - currentRate[i].min_cost;
} else {
rateRange = currentRate[i].min_cost;
}
} else {
rateRange = income
}
income = income - rateRange;
rateReducion = (rateRange * currentRate[i].rate_percentage) / 100;
newObj = {
percentage:currentRate[i].rate_percentage,
rateRange:rateRange,
rateReducion: rateReducion
};
detailMutaion.push(newObj);
}
}
return income;
};
//getAnnualIncomeTax(userB_income);