我肯定有可能,但是我不确定它叫什么,如果这超级相似,我深表歉意。我想知道是否有更快的方法来编写以下代码:
var b = "#ff0002";
var o = "#46c029";
var i = "#f2ec00";
var n = "#f64c98";
var g = "#52c6f3";
if(a==1){
return b;
}else if(a==2){
return o;
}else if(a==3){
return i;
}else if(a==4){
return n;
}else if(a==5){
return g;
}
答案 0 :(得分:14)
是的,查找数组:
return [b, o, i, n, g][a - 1];
不一定更快,但绝对要短:)
答案 1 :(得分:2)
如果您要使用var nameExpr = (IdentifierNameSyntax)objectCreation.ArgumentList?.Arguments.First()?.Expression;
var nameDataFlow = context.SemanticModel.AnalyzeDataFlow(nameExpr);
来比较大量的字符串,如下所示:
name
如果您使用的是Object
,则可以这样使用Map()
:
myObj = {1: '#ff0002', 2: '#46c029', 3: "#f2ec00", 4: "#f64c98", 5: "#52c6f3"}
console.log(myObj[3]);