有人可以解释一下双重否定下面代码中的反向变量的目的吗?
return function (a,b) {
var A = key(a),B = key(b);
return ((A < B) ? -1 :
(A > B) ? +1 : 0)) * [-1,1][+!!reverse];
}
我理解它的方式,目的是从[-1,1]数组中选择适当的索引,然后在乘法中使用它,但在我看来[-1,1] [!!反向];可以安全地替换为[-1,1] [反向];
我错了吗?通过双重否定反转,你获得或阻止了什么?
我在this answer.上看到了上面的代码
最佳答案