javascript中的排序sort()函数

sort()函数会自动调动toString()方法字符串会数组参数,因此sort()方法能够接收一个比较函数作为参数。数组

比较函数接收两个参数,若是第一个参数应该在第二个参数前面则返回负数,若是两个参数相等则返回0,若是第二个参数位于第一个参数前面则返回正数。如下是一个简单地比较函数:ide

 

  
  
           
  
  
  1. function compare(value1, value2) {  
  2.     if(value1 < value2) {  
  3.         return -1;  
  4.     } else if(value1 == value2) {  
  5.         return 0;  
  6.     } else {  
  7.         return 1;  
  8.     }  

 

  
  
           
  
  
  1. var arr = new Array(1,2,78,34,54,0,4);  
  2. arr.sort(compare);  
  3. alert(arr);//按从小到大排序 

对于数值类型或者其valueOf()方法会返回数值类型的对象类型,能够使用一个更简单地比较函数。这个函数只要用第一个值减去第二个值便可。函数

 

  
  
           
  
  
  1. function compare(value1, value2) {  
  2.     return value1 - value2;  

因为比较函数经过返回一个小于零、等于零或大于零的值来影响排序结果,所以减法操做就能够适当的处理全部这些状况。spa

相关文章
相关标签/搜索