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

如何将switch case语句转换为基于键值对的lookup table查找表

Switch Case 转查找表(Lookup Table)实现方案

你可以通过定义常量键值对对象作为查找表,直接匹配编码返回对应结果,改造后的代码如下:

// 常量查找表:key为联系类型编码,value为对应显示标题
const CONTACT_TYPE_LOOKUP: Record<string, string> = {
  'SiteApp_CACFP_PrincipleDirector': 'Principle Director',
  'SiteApp_CACFP_PrincipleAsstDir': 'Principle Assistant Director',
  'SiteApp_CACFP_Cook': 'Cook'
}

getContactTypeTitle(contactTypeCode: string): string {
    // 匹配查找表,无匹配项时返回默认值
    return CONTACT_TYPE_LOOKUP[contactTypeCode] ?? 'Site Contact';
}

方案优势

  • 逻辑与配置分离:后续需要新增联系类型时,只需要在CONTACT_TYPE_LOOKUP中新增对应的键值对即可,不需要修改方法核心逻辑,维护成本更低
  • 完全兼容原有逻辑:空值合并运算符??只会在查找表无对应匹配项时返回默认值Site Contact,和原switch case的执行结果完全一致
  • 代码更简洁易读:去掉了冗余的break语句和分支判断,整体逻辑更直观
  • 可扩展类型校验:如果你的contactTypeCode是固定枚举值,可以进一步收窄查找表的key类型为联合类型,获得TS的类型校验和自动补全能力,降低编码出错概率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 14:24:03