Javascript的原生排序方法是如何工作的

How does Javascript's native sort method work?

本文关键字:何工作 工作 原生 排序 方法 Javascript      更新时间:2023-09-26
[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", "^"]

这种疯狂有什么方法吗?

来自 MDN:

如果未提供 compareFunction,则通过将元素转换为字符串并按 Unicode 代码点顺序比较字符串来对元素进行排序。

和:

如果提供了比较函数,则根据比较函数的返回值对数组元素进行排序。

参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort