有没有更短的方法来计算这个 bool 表达式?a < b < c || b < c < a || c < a < b
在 JavaScript 中,这将是:a < b && b < c || b < c && c < a || c < a && a < b
是否有一些有用的数学或 bool 代数技巧可以让这变得不那么麻烦?a
, b
和 c
都是数字。在我的特定用例中,它们保证是不同的。
(有关其他上下文,它出现在回答 this question 的过程中)
最佳答案
您有 3 个不同的 bool 比较,您希望其中 2 个保留。 (严格来说,2 个或更多,但在你的情况下,你永远不可能拥有全部 3 个)。所以你可以写
a < b && b < c || b < c && c < a || c < a && a < b
作为(a < b) + (b < c) + (c < a) == 2
关于javascript - 简化三路比较 a < b < c || b < c < a || c < a < b;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68573609/