Javascript 切换到干代码中的变量声明在大小写之外

Javascript 切换到干代码中的变量声明在大小写之外,javascript,switch-statement,Javascript,Switch Statement,让我们举一个例子: let name; switch (name) { case "John": personsName = "little John"; break; case "Bob": personsName = "Bob almighty"; break; } 我是否可以从每个案例中提取personName=,以某种方式将其放在顶部,并只保留分配 因此,它希望: case "Bob": "Bob almighty"; break; 否则,

让我们举一个例子:

let name;

switch (name) {

  case "John":
    personsName = "little John";
  break;

  case "Bob":
    personsName = "Bob almighty";
  break;

}
我是否可以从每个案例中提取
personName=
,以某种方式将其放在顶部,并只保留分配

因此,它希望:

case "Bob":
  "Bob almighty";
break;

否则,对于50个案例,我将不得不重复
personName=
text 50次。如果不可能,为什么

创建
name
vs
personName

var map = {
  "John" :  "little John",
  "Bob" : "Bob almighty"
}
现在把你的人名记为

var personName = map[name];

无需使用
开关盒

创建
名称
人名

var map = {
  "John" :  "little John",
  "Bob" : "Bob almighty"
}
现在把你的人名记为

var personName = map[name];

无需使用
开关盒

只需根本不使用
开关
语句即可。只需根本不使用
开关
语句即可。谢谢。如果不是字符串,而是对象呢?例如
案例“Bob”:personName=bobobObject;中断值也可以是
对象
,但实际解决方案可能取决于您的用例<代码>地图
如果只需要根据名称进行检索就足够了。+1,你说对了。但为了完成任务,既然他问我为什么不能那样做,我想说以下几点@lovemyjob您不能简单地将
“string”
写入一个switch case,这是因为您只是让它生成一个语法错误,因为您什么都不做,而简单的string对js来说毫无意义。您所能做的最好的事情就是编写一个函数,该函数将名称作为参数,在该函数中,
每个开关
大小写返回字符串(该字符串将是函数的返回值)。然后只需使用该函数对变量进行值化,但我仍然建议使用@gurvinder372的方法。这不起作用,因为如果要在映射中获取值,必须通过键将其作为目标,因此正确的方法是
var personName=map。Bob
@lovemyjob如果正确,则需要对映射应用键来获取值,不是相反,谢谢。如果不是字符串,而是对象呢?例如
案例“Bob”:personName=bobobObject;中断值也可以是
对象
,但实际解决方案可能取决于您的用例<代码>地图
如果只需要根据名称进行检索就足够了。+1,你说对了。但为了完成任务,既然他问我为什么不能那样做,我想说以下几点@lovemyjob您不能简单地将
“string”
写入一个switch case,这是因为您只是让它生成一个语法错误,因为您什么都不做,而简单的string对js来说毫无意义。您所能做的最好的事情就是编写一个函数,该函数将名称作为参数,在该函数中,
每个开关
大小写返回字符串(该字符串将是函数的返回值)。然后只需使用该函数对变量进行值化,但我仍然建议使用@gurvinder372的方法。这不起作用,因为如果要在映射中获取值,必须通过键将其作为目标,因此正确的方法是
var personName=map。Bob
@lovemyjob如果正确,则需要对映射应用键来获取值,而不是相反。