Javascript sort()为什么args在相反的顺序?


const n = [2, 5, 100, 4]
n.sort((a, b) => {
console.log(a, b)
return a - b;
})
// console log
5 2
100 5
4 100

为什么a5,b2等?

在这个问类似问题的问题中

给出的答案相当于:"浏览器解释规范,因此不能保证顺序"。但没能回答问题

标准22.1.3.27没有指定如何调用compare函数:

对obj的[[Get]]和[[Set]]内部方法,以obj作为第一个参数的DeletePropertyOrThrow和HasOwnProperty抽象操作,以及SortCompare(如下所述)执行与实现相关的调用序列

最新更新