三元运算符 - 3 个条件

Ternary Operator - 3 conditions

我想用三元运算符重写它。我想我需要 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;

这是等价的吗?

如果你需要排序的值,你可以取两个值的差值:

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

是的,它们是等价的

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