三元运算符-3个条件

时间:2019-09-17 07:33:50

标签: javascript if-statement ternary-operator

我想用三元运算符重写它。我相信我需要2个运算符。

if (a.quantity > b.quantity) {
      return -1;
  } else if (a.quantity < b.quantity) {
      return 1;
  } else {
      return 0;
  }

三元组

return (a.quantity > b.quantity) ? -1 : (a.quantity < b.quantity) ? 1 : 0;

这等效吗?

2 个答案:

答案 0 :(得分:3)

如果需要用于排序的值,则可以采用两个值的差值:

data.sort((a, b) => a.quantity - b.quantity); // ascending
data.sort((a, b) => b.quantity - a.quantity); // descending

答案 1 :(得分:1)

是的,等价​​的

return (a.quantity > b.quantity) ? -1 : (a.quantity < b.quantity) ? 1 : 0;