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