tes*_*dtv -3 javascript jquery ternary-operator
我想根据以下内容编写三元运算符;
var statusJSON = {
'- Select -': '',
'Active': true,
'Inactive': false
};
Run Code Online (Sandbox Code Playgroud)
目前我有
statusFlag: $('#statusFlag').val() == 'true' ? true : false
Run Code Online (Sandbox Code Playgroud)
这适用于true和false值,但不处理第三个条件(即空"")
我该如何处理?
statusFlag: $('#statusFlag').val() == 'true' ? true :
$('#statusFlag').val() == '' ? 'empty' : false
Run Code Online (Sandbox Code Playgroud)
您可以添加如下多个条件:
a ? b : (c ? d : e)
Run Code Online (Sandbox Code Playgroud)
() 没有必要,但在我看来,当你编写没有换行符时,它们会提高可读性.
这意味着:
if(a){
b
}else{
if(c){
d
}else{
e
}
}
Run Code Online (Sandbox Code Playgroud)
所以,基本上,你是else在前一个的子句中嵌套另一个三元运算符.你可以随意使用:
a ? b : // if(a) then `b`
c ? d : // else, if(c) then `d`
e ? f : // else, if(e) then `f`
g ? h : // else, if(g) then `h`
i ? j : k // else, if(i) then `j`, else `k`
Run Code Online (Sandbox Code Playgroud)
尝试嵌套ternary运算符,
statusFlag: $('#statusFlag').val() == 'true' ?
true : $('#statusFlag').val() == 'false' ? false : "empty";
Run Code Online (Sandbox Code Playgroud)