语法

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]

 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐