如何不从最后一个三元运算符返回值?

时间:2018-03-21 15:50:55

标签: javascript

我在这里找到了一个类似这样的问题,但那是C#。

我需要一个用于javascript。

我不想输入最后一个值“NA”,因为如果代码编程正确,它永远不会被调用。是否有这样的工作,所以我不必输入任何东西,我的意思甚至不是“”

(col_1 === 0)? 0 :(col_1 >= 1)? col_1-1:"NA";

4 个答案:

答案 0 :(得分:0)

您可以返回nullundefined,但不能返回任何内容

答案 1 :(得分:0)

可能是这样的:

(col_1 <= 0) ? 0 : (col_1 - 1);

答案 2 :(得分:0)

虽然不清楚,这个问题的真正目的是建议使用持续检查零或大于或等于一。

如果没有条件result,则此提案不会更改true

if (col_1 === 0) {
    result = 0;
}
if (col_1 >= 1) {
    result = col_1 - 1;
}

答案 3 :(得分:0)

  

如何不从最后一个三元运算符返回值?

不,你不能,三元运算符的最后一部分是必需的。要实现这一目标,您需要if-else个阻止。

if (col_1 === 0) {
    result = 0;
} else if (col_1 >= 1) {
    result = col_1 - 1;
}

另一种方法是使用逻辑运算符&&

就像我说的那样,最后一部分是必需的

(col_1 === 0) ? 0 : (col_1 >= 1 && col_1 - 1);

var col_1 = 0;
var result = (col_1 === 0) ? 0 : (col_1 >= 1 && col_1 - 1);
console.log(result);

col_1 = 5;
result = (col_1 === 0) ? 0 : (col_1 >= 1 && col_1 - 1);
console.log(result);

col_1 = 3;
result = (col_1 === 0) ? 0 : (col_1 >= 1 && col_1 - 1);
console.log(result);

col_1 = -1;
result = (col_1 === 0) ? 0 : (col_1 >= 1 && col_1 - 1);
 // This case will always return false because 'col_1 < 0'
 // Here you can check for that value
console.log("You need to check this situation: ", result);
.as-console-wrapper { max-height: 100% !important; top: 0; }