gpt4 book ai didi

javascript - 三元运算的值范围在负值和正值范围内直到 0?

转载 作者:行者123 更新时间:2023-11-28 21:06:40 27 4
gpt4 key购买 nike

我有一个问题想要解决。只要 x 为正,该表达式就有效

x > 0 ? x - y : x + y;

当它变为负值时,这就是问题开始的地方。所以我想到了

x !=0 & x < 0 ? x - y : Math.abs(x - y)*-1) 

但这让我无处可去,我通过以下方式解决了它:

if (x > 0 && x - y > 0) {
x -= y;
} else if (x < 0 && x + y > 0) {
x += y;
} else {
x = 0;
}

然而这很长并且看起来不优雅。有什么办法可以通过三元运算使这个过程更短、更高效吗?

最佳答案

x = x >=0 ? x - y : x + y;
x = x < 0 ? 0 : x;

x = Math.max(x >= 0 ? x - y : x + y, 0);

关于javascript - 三元运算的值范围在负值和正值范围内直到 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685499/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com