对于说示例我有一个排序函数,但我想基于另一个变量进行反向。根据变量反转布尔值
我知道什么
if
else
- 三元
?
我想知道是否有某种酷技巧像(true && "return this")
或!!(+num % 2)
种东西。
例子:
var array = [3,5,2,1,7,8,10];
var reverse = true;
array.sort(function(a,b) {
return a < b // somehow use reverse to sort it reverse order
});
附录
虽然大卫的回答是一个我一直在回答我的问题寻找。如果我期望有条件地排序,这是我认为合适的:短路。
var array = [3,5,2,1,7,8,10];
var reverse = true;
function number_sort(a,b) {
\t return a > b ;
}
(array.sort(number_sort) && reverse && array.reverse());
console.log(array);
reverse = false;
(array.sort(number_sort) && reverse && array.reverse());
console.log(array);
为什么不使用'reverse'阵列的方法? – evolutionxbox
@evolutionxbox这只是一个例子。我可以将它用于'localeCompare'或任何其他类型的匹配 –
请注意,'sort'回调应该返回一个值<0, 0 or > 0,但不是'true'或'false'。 – deceze