You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用JavaScript将冗余if else语句重构为可复用代码?

重构嵌套过多的if-else代码示例

原代码存在大量嵌套和重复逻辑,我们可以通过提前返回和提取重复逻辑来让代码更简洁易读:

重构后的代码

const output = () => {
    // 优先处理:result.title存在且非空时直接返回
    if (result?.title && !isEmpty(result.title)) {
        return result.title;
    }

    // 处理name存在的情况,复用逻辑避免重复
    if (name) {
        switch (status) {
            case 'passed':
                return `${name} matches`;
            case 'failed':
                return `${name} does not match`;
        }
    }

    // 其他情况直接返回对应状态的标题
    return titleByStatus[status];
};

const title = output();

优化说明

  • 提前返回减少嵌套:先判断最高优先级的result.title非空情况,直接return,避免后续多层嵌套
  • 提取重复逻辑:把原代码中两处重复的name+status判断合并,用switch替代零散if,逻辑更清晰
  • 扁平化结构:去掉多层else嵌套,每一个条件分支都通过return提前退出,代码逻辑一目了然

注:原代码中有笔误Name(应为小写name),重构时已修正。

内容的提问来源于stack exchange,提问作者stackuser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:04:58