Ant*_*ung 3 javascript sorting mergesort
[1, false, 10, "b", 3, "33", ":", "R", "^"].sort()
Run Code Online (Sandbox Code Playgroud)
产量如下:
[1, 10, 3, "33", ":", "R", "^", "b", false]
Run Code Online (Sandbox Code Playgroud)
任何人都可以解释排序方法如何工作?我猜它必须将所有内容翻译成ASCII.
当我这样做时,情节会变浓
[1, false, 10, "b", 3, "33", ":", "R", "^"].sort(function(a,b) {return b-a})
Run Code Online (Sandbox Code Playgroud)
输出以下内容:
[10, 1, false, "b", "33", 3, ":", "R", "^"]
Run Code Online (Sandbox Code Playgroud)
这种疯狂的任何方法?
来自MDN:
如果未提供compareFunction,则通过将元素转换为字符串并按Unicode代码点顺序比较字符串来对元素进行排序.
和:
如果提供compareFunction,则根据compare函数的返回值对数组元素进行排序.
参考:https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort