如何在三元运算符中设置多重条件?实现0-10数值范围限制咨询
用三元运算符实现count的0-10范围限制
先给你修正并补全逻辑后的可用代码:
var count = 0; var res = flag === "1" ? (count < 10 ? ++count : count) : (flag === "0" ? (count > 0 ? --count : count) : count);
逻辑说明
- 当
flag等于"1"时,先检查count是否小于10:没到上限就自增,到了就保持原值 - 当
flag等于"0"时,先检查count是否大于0:没到下限就自减,到了就保持原值 - 遇到
flag既不是"1"也不是"0"的情况,直接返回当前count(你可以根据需求调整这个分支的逻辑)
另外提一句:虽然用三元能实现,但多层嵌套可读性会变差。如果允许不用纯三元,用Math.max和Math.min的写法更清晰好维护:
var count = 0; if (flag === "1") { count = Math.min(count + 1, 10); } else if (flag === "0") { count = Math.max(count - 1, 0); } var res = count;
内容的提问来源于stack exchange,提问作者Bhawani Singh
相关产品推荐
相关产品推荐

