Javascript。帮助理解在数组中排序数字时比较函数的工作原理
好的,我知道如何将数字从大到小或从小到大排序。我不明白的是javascript是如何实现的。有人能一步一步地告诉我javascript是如何对以下数组进行排序的吗?我知道如何使用它,我需要理解它Javascript。帮助理解在数组中排序数字时比较函数的工作原理,javascript,sorting,integer,compare,Javascript,Sorting,Integer,Compare,好的,我知道如何将数字从大到小或从小到大排序。我不明白的是javascript是如何实现的。有人能一步一步地告诉我javascript是如何对以下数组进行排序的吗?我知道如何使用它,我需要理解它 var arr = [3, 2, 4, 5, 1] function sorter(a, b) { return a - b; } arr.sort(sorter) 你能告诉我哪个数字代表a,哪个代表b,以及它如何遍历数组的其余部分吗。例如,3-2是1,所以它会将2切换到一个小于3的索引,这如何
var arr = [3, 2, 4, 5, 1]
function sorter(a, b) {
return a - b;
}
arr.sort(sorter)
你能告诉我哪个数字代表a,哪个代表b,以及它如何遍历数组的其余部分吗。例如,3-2是1,所以它会将2切换到一个小于3的索引,这如何在整个数组中继续?我想知道为什么这样做有效,而不是盲目地使用它。谢谢
你能告诉我哪个数字代表a,哪个代表b,以及它如何遍历数组的其余部分吗
没关系;没有具体说明
浏览器可以实现他们想要的任何排序算法。所定义的是,它们使用数组中的两个不同项调用函数(索引不同,而不是值不同),函数应该返回
如果这些值在顺序上相同0
如果第一个参数应该在第二个参数之后0
您可能希望签出一些未指定且依赖于实现的。它还取决于数组的大小。克劳迪娅·埃尔南德斯的“”的可能副本是对该主题的一个很好的介绍。我了解数字是如何排列的,我问什么是索引a,什么是b&它如何在数组中循环。是数组[0]=a,数组[1]=b,还是数组[1]=a,数组[2]=b,依此类推,直到数组结束?经过一次迭代,它将是[4,3,2,1,5]。当它到达数组的末尾时,它是否继续循环回到数组的开头?最终,数组按照此逻辑排序为[1,2,3,4,5]。我的解释正确吗,它是这样循环的?另外,是什么告诉比较在排序后停止在数组中循环?告诉函数停止排序的条件是什么?