我想用三元运算符重写它。我相信我需要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;
这等效吗?
答案 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;