我想用三元运算符重写它。我相信我需要 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;
或者也许只是
return (a.quantity < b.quantity) - (b.quantity < a.quantity)