首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中重构重复的switch语句

如何在javascript中重构重复的switch语句
EN

Stack Overflow用户
提问于 2019-07-15 20:54:29
回答 4查看 362关注 0票数 0

我有以下switch语句。但是这里有重复的代码,我想把它去掉。请重构此代码。

代码语言:javascript
复制
var something;
switch(alphabet) {
  case "A":
     something.aa = true;
     something.bb = false;
     something.cc = false;
     break;
  case "B":
     something.aa = false;
     something.bb = true;
     something.cc = false;
     break;
  case "C":
     something.aa = false;
     something.bb = false;
     something.cc = true;
     break;
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-07-15 21:08:32

完全去掉switch语句怎么样?

代码语言:javascript
复制
var something = {
  aa: alphabet === "A",
  bb: alphabet === "B",
  cc: alphabet === "C"
}
票数 2
EN

Stack Overflow用户

发布于 2019-07-15 21:04:49

一种方法是使用键的数组和一个循环,该循环将该字母与键进行比较,并使用任何适用的逻辑。在您的示例中,它将是一个简单的includes()startsWith()

类似于:

代码语言:javascript
复制
const keys = ['aa','bb', 'cc'];
const lower = alphabet.toLowerCase();
keys.forEach(k => something[k] = k.includes(lower))
票数 1
EN

Stack Overflow用户

发布于 2019-07-15 21:03:56

您可以使用true的目标对象,例如

代码语言:javascript
复制
var targets = {
        A: 'aa',
        B: 'bb',
        C: 'bb',
    },
    something = { aa: false, bb: false, cc: false };

// usage
if (alphabet in targets) something[targets[alphabet]] = true;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57040207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档