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