以下是一个简单的个人所得税计算示例(中国标准):

function calculateTax(income) {
  // 起征点
  const threshold = 5000;
  // 五险一金假设为20%
  const insurance = income * 0.2;
  // 应纳税所得额
  const taxableIncome = income - insurance - threshold;
  
  // 税率表
  const taxBrackets = [
    { min: 0, max: 36000, rate: 0.03 },
    { min: 36000, max: 144000, rate: 0.1 },
    { min: 144000, max: 300000, rate: 0.2 },
    { min: 300000, max: 420000, rate: 0.25 },
    { min: 420000, max: 660000, rate: 0.3 },
    { min: 660000, max: 960000, rate: 0.35 },
    { min: 960000, max: Infinity, rate: 0.45 }
  ];

  let tax = 0;
  for (const bracket of taxBrackets) {
    if (taxableIncome > bracket.min) {
      const taxableAmount = Math.min(taxableIncome, bracket.max) - bracket.min;
      tax += taxableAmount * bracket.rate;
    }
  }
  return tax.toFixed(2);
}

// 示例:月收入20000元
console.log(calculateTax(20000)); // 输出应缴税额

计算说明:

  1. 应纳税所得额 = 月收入 - 五险一金 - 起征点5000元
  2. 根据超额累进税率计算
  3. 示例中20000元月收入应纳税约890元