如果我們在 中沒有數字${desc},我們采用extId,如果沒有 extId,則它帶有空字串。我試圖轉換這個:
if (/^\d $/.test(desc)) {
console.log(desc);
}
if (!/^\d $/.test(desc) && exlId != null) {
console.log(extId);
} else {
console.log("");
}
對此:
/^\d $/.test(desc)
? desc
: ""
? !/^\d $/.test(desc) && extId != null
: ""
我做錯了什么?
uj5u.com熱心網友回復:
如果我正確地回答了您的問題:
const log = /^\d $/.test(desc) ? desc : extId ? extId : "";
// Prints: -------------------------^-------------^-------^
或者:
const log = /^\d $/.test(desc) && desc || extId && extId || "";
PS:也修正你的錯字:exlId!==extId
uj5u.com熱心網友回復:
可能是您的語法錯誤,無法在三元運算子中實作多個條件
它應該像
條件1?條件2?運算式 1:運算式 2:運算式 3
/^\d $/.test(desc)
? !/^\d $/.test(desc) && extId != null ?
"" : desc;
查看更多資訊https://www.geeksforgeeks.org/how-to-use-multiple-ternary-operators-in-a-single-statement-in-javascript/#:~:text=In the% 20above syntax, we,then the output is Expression1。
uj5u.com熱心網友回復:
這是你的三元陳述:
/^\d $/.test(desc) ? desc : "" ? !/^\d $/.test(desc) && extId != null : "";
上述陳述句如果寫成 if-else 形式:
if (/^\d $/.test(desc)) {
console.log(desc);
}
else if ("") {
console.log(!/^\d $/.test(desc) && extId != null);
}
else {
console.log("");
}
你可以在這里看到問題。現在這是正確的三元陳述句:
/^\d $/.test(desc) ? desc : extId ? extId : "";
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504659.html
標籤:javascript if 语句 三元
