Javascript 具有匿名函数的三元算子
我想重新写入if,并在另一个三元运算符中切换Javascript 具有匿名函数的三元算子,javascript,anonymous-function,ternary-operator,Javascript,Anonymous Function,Ternary Operator,我想重新写入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 "jen
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;
旁注:如果结果为NULL,当试图获得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;
有什么错误吗?这看起来像是对三元运算符的误用,使内容更难阅读,但不管怎样。使用一个iLife,比如
(function(){switch…})(
。您没有调用该函数,因此res
将被分配一个函数或null
。我同意@mikemcaughan的说法,不确定您为什么这样做。在这里使用if语句更容易。