我想重写if并切换到另一个三元运算符
var result = fieldValue ? fieldValue.split("/") : null;
var res = null;
if (result.length > 0) {
switch (label.toLowerCase()) {
case "jenkins job name":
res = result[result.length - 2];
break;
case "jenkins job number":
res = result[result.length - 3];
break;
}
我正在尝试下面的不工作,我做错了什么
result = fieldValue ? fieldValue.split("/") : null;
var res = result.length > 0 ? () => {
switch (label.toLowerCase()) {
case "jenkins job name":
return result[result.length - 2];
case "jenkins job number":
return result[result.length - 3];
}
} : null;
答案 0 :(得分:1)
旁注:如果result为null,则在尝试获取null属性时会出现异常,请考虑更改为fieldValue ? fieldValue.split("/") : ""
。
为了使两个代码具有相同的结果,您应该像这样调用anonimous函数:
var res = result.length > 0 ? (() => {
switch (label.toLowerCase()) {
case "jenkins job name" :
return result[result.length - 2];
case "jenkins job number" :
return result[result.length - 3];
}
})() : null;