【发布时间】:2016-03-31 16:27:25
【问题描述】:
今天我发现一个对我来说很奇怪的字符串排序实现:
['Data', 'Chata', 'Clata'].sort(function(a, b) { return a > b});
使用这种方法,我们将一个有效的排序数组作为输出 - ["Chata", "Clata", "Data"]。
但我不清楚它为什么会起作用......
我知道比较器函数需要三个不同的输出 - 零、零以上的整数、零以下的整数。但在这种情况下,我们只能取两个值 - true(如果 a 大于 b)或 false(如果 a 小于 b)(类型强制后为 1 或 0) .
谁能解释一下它为什么有效?
【问题讨论】:
-
想想0。这有关系吗?这只是一些优化。
标签: javascript string sorting