arr.sort的排序原理

1.默认情况下根据字符编码进行排序
var arr = [1,3,6,2,10]
arr.sort();//[1, 10, 2, 3, 6]

2.sort排序允许接受一个参数(函数),这个函数接受2个形参a,b,并且通过冒泡的方式比较。
返回值规则:

  1. 当返回值为负数时,那么前面的数在前面,也就是不动
  2. 当返回值为正数时,那么后面的数在前
  3. 为0,不动

升序

 arr.sort(function(a,b){
     if(a>b){
        //返回正数  b就和a位置互换,小的在前面了
          return a-b;
	}else{
	   //返回负数
          return a-b;
	}
})

既然都返回return a-b ,那么升序函数简写方式:

arr.sort(function(a,b){
   return a - b;
})

降序

 arr.sort(function(a,b){
     if(a<b){
        //返回正数  b就和a位置互换,大的在前面了
          return b - a;
	}else{
	   //返回负数
          return b - a;
	}
})

既然都返回return b - a ,那么降序函数简写方式:

arr.sort(function(a,b){
   return  b - a;
})

猜你喜欢

转载自blog.csdn.net/qq_34035425/article/details/85001347