JSFiddle - React, Tailwind, and code Playground
by Krishna Ananthi
TypeScript
var lakh = 100000;
var normalCitizenSlab=[{range:[0,2*lakh], slab:0},{range:[2*lakh,5*lakh], slab:10},{range:[5*lakh,10*lakh], slab:20},{range:[10*lakh,], slab:30}]
function calculateIncomeTax(age, gender, income) {
const genderArray = ["Male", "Female", "Transgender"];
if (age <= 0) return "Please enter age in positive";
if (genderArray.indexOf(gender) === -1) return "Please enter proper gender";
if (income <= 0) return "Income should be atleast greater than 0";
if (age < 60) {
return normalCitizen(income);
} else if (age >= 60 && age < 80) {
return seniorCitizen(income)
} else if (age > 80) {
return superSeniorCitizen(income);
}
}
function normalCitizen(income) {
console.log("normal" + income);
if (income <= 2*lakh) {
return 0;
} else if (income > 2*lakh && income <= 5*lakh) {
income = income - 2*lakh;
let tax = (10 * income) / 100;
return tax;
} else if (income >5*lakh && income <= 10*lakh) {
income = income - 2*lakh;
let tax = (10 * 3*lakh) / 100 + (income * 20) / 100;
return tax;
} else if (income > 10*lakh) {
income = income - 2*lakh;
return (
(10 * 3*lakh) / 100 + (20 * 5*lakh) / 100 + ((income - 8*lakh) * 30) / 100
);
}
}
function seniorCitizen(income) {
console.log("senior" + income);
if (income <= 2.5*lakh) {
return 0;
} else if (income > 2.5*lakh && income <= 5*lakh) {
income = income - 2.5*lakh;
let tax = (10 * income) / 100;
return tax;
} else if (income > 5*lakh && income <= 10*lakh) {
income = income - 2.5*lakh;
let tax = (10 * 3*lakh) / 100 + (income * 20) / 100;
return tax;
} else if (income > 10*lakh) {
income = income - 2.5*lakh;
return (
(10 * 3*lakh) / 100 + (20 * 5*lakh) / 100 + ((income - 8*lakh) * 30) / 100
);
}
}
function superSeniorCitizen(income) {
console.log("super" + income);
if (income <= 5*lakh) {
return 0;
} else if (income > 5*lakh && income <= 10*lakh) {
income = income...