三元运算符 - 3 个条件

问题描述 投票:0回答:3

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

这相当于吗?

javascript if-statement ternary-operator
3个回答
3
投票

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

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

1
投票

是的,这些是等效的

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


0
投票

或者也许只是

return (a.quantity < b.quantity) - (b.quantity < a.quantity)
© www.soinside.com 2019 - 2024. All rights reserved.