Javascript数组排序数

时间:2015-01-09 11:19:46

标签: javascript arrays sorting

下面的代码是对数组中的数字进行排序,并且回调确保数字被排序,但有人可以解释回调的确切做法吗?

var a = [2,4,7,21,34,52,88,5,2,6];
a.sort(function(a,b) {
return a-b
});

此外,如果有人能够告诉除动画之外的回调有什么用途,只有在动画完成后才能做其他功能。

2 个答案:

答案 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
});