将JavaScript三元运算符转换为if-than-else语句

将JavaScript三元运算符转换为if-than-else语句,javascript,ternary-operator,Javascript,Ternary Operator,我试图将以下三元运算符表示转换为if-then-else语句: return 0 === r.length ? t ? O.toInvalid : null : o(r) ? null : O.toInvalid 你能帮我做这件事吗?你可以用这句话 if (0 === r.length) { if (t) { return O.toInvalid; } else { return null; } } else { if (o(r)

我试图将以下三元运算符表示转换为if-then-else语句:

return 0 === r.length ? t ? O.toInvalid : null : o(r) ? null : O.toInvalid

你能帮我做这件事吗?

你可以用这句话

if (0 === r.length) {
    if (t) {
        return O.toInvalid;
    } else {
        return null;
    }
} else {
    if (o(r)) {
        return null;
    } else {
        return O.toInvalid;
    }
}

如果我为你优化了其他条件,试试这个

    if ( (!r.length && t) || (r.length && !o(r) ) ) {
        return O.toInvalid;
    } else {
        return null;
    }