|  | 
				
					
	
		
			
 			Posted on 2007-10-01 09:56 诗特林  阅读(1929) 评论(0)  编辑  收藏   所属分类: JavaScript   JavaScript中的数字排序方法 
1.普通排序
  var a = [0,null,10,11,null,20,100,null,-10,-1,111,2, null, 5]; a.sort();
 console.log(a);
 输出结果:
  [-1, -10, 0, 10, 100, 11, 111, 2, 20, 5, null, null, null, null]
2.一般排序
   function numberAsc(a, b)  {     return a - b;} var a = [0,null,10,11,null,20,100,null,-10,-1,111,2, null, 5];
 a.sort(numberAsc);
 console.log("asc: ", a);
 输出结果:
  asc: [-10, -1, null, null, null, 0, null, 2, 5, 10, 11, 20, 100, 111]
3.高级排序
   function numberAsc(a, b)  {    return a - b;} function numberDesc(a, b)
  {    return b - a;} var a = [0,null,10,11,null,20,100,null,-10,-1,111,2, null, 5];
 a.sort(numberAsc);console.log("asc: ", a);
 a.sort(numberDesc)console.log("desc: ", a);
 a.sort(numberAsc);console.log("asc: ", a);
 a.sort(numberDesc)console.log("desc: ", a);
 输出结果
  asc: [-10, -1, null, null, null, 0, null, 2, 5, 10, 11, 20, 100, 111] desc: [111, 100, 20, 11, 10, 5, 2, 0, null, null, null, null, -1, -10]
 asc: [-10, -1, null, null, null, null, 0, 2, 5, 10, 11, 20, 100, 111]
 desc: [111, 100, 20, 11, 10, 5, 2, null, null, null, 0, null, -1, -10]
4.终极排序
   var ALMOST_ZERO = -0.00000001; function numberAsc(a, b)
  { var left = a != null ? a : ALMOST_ZERO;
 var right = b != null ? b : ALMOST_ZERO;
 return left - right;
 }
 输出结果
  asc: [-10, -1, null, null, null, null, 0, 2, 5, 10, 11, 20, 100, 111] desc: [111, 100, 20, 11, 10, 5, 2, 0, null, null, null, null, -1, -10]
 asc: [-10, -1, null, null, null, null, 0, 2, 5, 10, 11, 20, 100, 111]
 desc: [111, 100, 20, 11, 10, 5, 2, 0, null, null, null, null, -1, -10]
 
	    
    
 |