gpt4 book ai didi

javascript - 运算符的条件运算符

转载 作者:搜寻专家 更新时间:2023-11-01 04:45:09 24 4
gpt4 key购买 nike

我有一段代码:

if (foo > bar) {
baz = foo - bar
} else {
baz = foo + bar
}

我有一个问题,是否可以以某种方式将这段代码缩短为一行,比如

PSEUDOCODE:

baz = foo (foo > bar ? + : -) bar

Real code I'd like to shorten

if (gradientStartH > gradientEndH) {
h = gradientStartH - Math.abs(gradientStartH - gradientEndH) / arr.length * i
} else {
h = gradientStartH + Math.abs(gradientStartH - gradientEndH) / arr.length * i
}

谢谢!

最佳答案

您可以将支票转换为数字或将 -1 作为因数。

baz = foo + (foo > bar || -1) * bar

最简洁的方法是使用带有操作数的对象并检查获取操作数。

op = {
true: function (a, b) { return a + b; }, // add
false: function (a, b) { return a - b; } // sub
}
baz = op[foo > bar](foo, bar);

关于javascript - 运算符的条件运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55069719/

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