不同的 JavaScript引擎上的JavaScript函数的算法是否不同?
我在 Chrome 和 Firefox 浏览器中运行Array.sort()
,其中两个对于相同的代码执行不同的操作。
他们为同一代码使用了不同的算法吗?
答案 0 :(得分:1)
规范所保证的全部是非稳定就地排序方法。
所以是的,允许不同的实现使用不同的算法,并且由于规范不能保证算法稳定,因此如果数组值相等,则不同的非稳定算法将导致顺序不同,即返回值是虚假的从您传递给Array.prototype.sort()
的比较函数中。