js中数组的排序

因为在js中数组的sort方法是根据元素的unicode值来排序,所以传统的数字大小排序sort方法并不能实现,因此我们可以使用回调函数来进行sort方法的排序。

回调函数中需要定义两个形参,浏览器会分别使用数组中的元素 作为实参去调用回调函数,浏览器会根据回调函数的返回值来决定元素的顺序。

  • 如果返回一个大于0的数,则元素会交换位置。
  • 如果返回一个小于0的数,则元素位置不变。
  • 如果返回一个0,则认为两个元素相等,也不交换位置。

所以由以上得出:
如果需要升序排列,则返回a-b,
如果需要降序排列,则返回b-a。

升序排列:

arr = [5,4,2,1,3,7,8,6];
arr.sort(function(a,b){
	return a-b;
});

降序排列:

arr = [5,4,2,1,3,7,8,6];
arr.sort(function(a,b){
	return b-a;
});
发布了53 篇原创文章 · 获赞 2 · 访问量 4315

猜你喜欢

转载自blog.csdn.net/qq_43126186/article/details/104648860
今日推荐