通过在比较器中使用“小于/大于”比较运算符对字符串进行排序

use*_*127 5 javascript sorting string

今天我发现一个奇怪的字符串排序实现:

['Data', 'Chata', 'Clata'].sort(function(a, b) { return a > b});
Run Code Online (Sandbox Code Playgroud)

使用这种方法,我们将有效的排序数组作为输出- ["Chata", "Clata", "Data"]。但是我不清楚它为什么起作用...

我知道比较器函数需要三个不同的输出-零,零以上的整数,零以下的整数。但是在这种情况下,我们只能采用两个值-true(如果大于b)或false(如果小于b)(类型强制后为1或0)。

谁能解释我为什么起作用?

Jus*_*nas -1

比较字符串时,是逐个字母地进行比较。因此c符号值低于d检查此表