【问题标题】:Switch statement returning wrong resultswitch 语句返回错误结果
【发布时间】:2023-03-05 19:56:01
【问题描述】:

我正在尝试运行这个函数,该函数接受两个参数,即收入和申报人状态,并使用多个 switch 语句将收入调整为税后值。我显然在某处犯了错误,因为该函数始终返回 0 而不是我的预期结果。

    var afterTaxes = function(income, filer) {
    var adjusted = 0;
    if (filer === "single") {
        switch (income) {
            case income < 9325:
                adjusted = (1.00 - 0.10) * income;
                break;
            case income < 37950:
                adjusted = (1.00 - 0.15) * income;
                break;
            case income < 91900:
                adjusted = (1.00 - 0.25) * income;
                break;
            case income < 191650:
                adjusted = (1.00 - 0.33) * income;
                break;
            case income < 416700:
                adjusted = (1.00 - 0.35) * income;
                break;
            case income >= 416700:
                adjusted = (1.00 - 0.40) * income;
                break;
            };
    } else if (filer === "married") {
        var adjusted = 0;
        switch (income) {
            case income < 9325:
                adjusted = (1.00 - 0.10) * income;
                break;
            case income < 37950:
                adjusted = (1.00 - 0.15) * income;
                break;
            case income < 91900:
                adjusted = (1.00 - 0.25) * income;
                break;
            case income < 191650:
                adjusted = (1.00 - 0.33) * income;
                break;
            case income < 416700:
                adjusted = (1.00 - 0.35) * income;
                break;
            case income >= 416700:
                adjusted = (1.00 - 0.40) * income;
                break;
        };  
    };
    return adjusted;
};

afterTaxes(150000, "single");

【问题讨论】:

  • 这是什么编程语言?

标签: javascript function switch-statement


【解决方案1】:

假设这是 JS,你的 switch 语句是不正确的。它需要一个表达式,参见documentation。快速解决方法是将语句更改为switch(true){...}

【讨论】:

  • 啊,谢谢。你帮我找出了哪里出错了。
猜你喜欢
  • 1970-01-01
  • 2017-07-20
  • 1970-01-01
  • 1970-01-01
  • 2014-08-17
  • 2016-11-29
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
相关资源
最近更新 更多