我不明白数组元素传递给函数的顺序。 我知道它需要两个参数a和b,如果它第一次比较3和20,下次比较它会是什么?
console.log(["a", "b", "c"].sort());
console.log([3, 20,10000].sort(function(a,b){
if (a < b) {
return -1;
} else if (a ==b) {
return 0;
} else {
return 1;
}
}));
}());
答案 0 :(得分:1)
排序过程传递比较器函数(使用两个参数传递的函数)数组中的值对。你不知道,你不必知道它们是什么价值;您的所有功能必须做的是返回一致的比较结果。您的函数可能会多次获得同一对值,并且可能会以不同的顺序获取它们。
现代JavaScript运行时中的排序可能是快速排序实现,但未指定精确的详细信息;它所要做的就是成功地对数组进行排序。