Js中sort()方法的用法

sort(sortfunction)为javascript的数组对象(Array)的一个方法,提供排序功能
参数 sortFunction 为可选项,是用来确定排序原则的js函数,
这个函数有两个参数,分别代表每次排序比较时的两个数组项,
如果这个函数的返回值小于0 则不交换原数组中元素的位置,否则交换原数组中元素的位置。

如果这个参数被省略, 那么元素将按照 ASCII 字符顺序进行升序排列。

Demo1默认按字母排序
var arr = ['b','cc','abc','fzj','xij','acd','yab']; 
arr.sort(); 
for (var i = 0; i < arr.length; i++) { 
    document.writeln(nameArr[i]); 
} 

结果:abc acd b cc fzj xij yab

Demo2数字排序,sort(prama)方法带参数
//降序函数
var desc = function(x,y)  
{  
	if (x > y)    
		return -1;  //返回一个小于0 的数即可
	else      
		return 1;  //返回一个大于0 的数即可
}  
//升序函数
var asc = function(x,y)  
{  
	if (x > y)    
		return 1;  //返回一个大于0 的数即可
	else          
		return -1;  //返回一个小于0 的数即可
}

var arr2 = [4,6,4,2,7,9,0,1];  
arr2.sort(desc); //降序排序
document.writeln(arr2);  
document.writeln("<br>");  
arr2.sort(asc); //升序排序
document.writeln(arr2); 

结果:
9,7,6,4,4,2,1,0
0,1,2,4,4,6,7,9

Demo2的简单算法
var arr2 = [4,6,4,2,7,9,0,1];  
arr2.sort(function(a,b){return a - b});
document.writeln(arr2);  
document.writeln("<br>");  
arr2.sort(function(a,b){return b - a});
document.writeln(arr2); 

结果:
0,1,2,4,4,6,7,9
9,7,6,4,4,2,1,0

你可能感兴趣的:(JavaScript,算法)