下面的代码是对数组中的数字进行排序,并且回调确保数字被排序,但有人可以解释回调的确切做法吗?
var a = [2,4,7,21,34,52,88,5,2,6];
a.sort(function(a,b) {
return a-b
});
此外,如果有人能够告诉除动画之外的回调有什么用途,只有在动画完成后才能做其他功能。
答案 0 :(得分:1)
该函数是比较器,如果两个输入等于,则返回0
,如果a小于b则返回零,如果a大于b,则返回大于零。 sort
方法使用此函数来确定两个元素之间的顺序。
你也可以这样写:
return (a < b) ? -1 : (a > b) ? 1 : 0;
这实际上是等效的,但另一种解决方案要短得多,实际上更容易阅读。
另一个答案提到了冒泡排序,但是与实际的排序策略无关,这就是排序功能,这只是排序的比较器,仅此而已。
答案 1 :(得分:-1)
回调实际上是一个比较器函数,它有利于开发人员如何对数组进行排序。
按降序排列数组元素
a.sort(function(a,b) {
return b-a
});