语法
array.sort(sortby)
array:需排序的数组
sortby:排序的函数(可选),如果没传则数组不做任何变动。
sortby函数说明:
比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,则返回一个小于 0 的值,我们一般返回-1。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值,我们一般返回1。
实例:
var arr = [1,2,25,100,60,37]
arr.sort(function(a,b){
if(a>b)return 1;
else if(a==b) return 0;
else return -1;
})
console.log(arr);
输出:
(6) [1, 2, 25, 37, 60, 100]
如果我们想换成从大到小,针对上面例子有两种做法:
1.function(a,b) 改成 function(b,a)
2. if(a>b)return 1改成if(a>b)return 1-;else return -1;改成 else return 1;
采用第一个方式来试一下:
var arr = [1,2,25,100,60,37]
arr.sort(function(b,a){
if(a>b)return 1;
else if(a==b) return 0;
else return -1;
})
console.log(arr);
(6) [100, 60, 37, 25, 2, 1]