JavaScript|3种案例轻松学会sort规则方法使用

本博文源于js基础,主要探讨内部sort()函数的使用规则。c语言的sort跟js的sort类似,如果大家对c的sort有疑问,可以看博主这篇文章:
(c语言)qsort及rand使用指南(附测试用例)
下面进入正题。

引言

sort()函数是一种内部排序,书写比较规则在程序中叫做复写,下面就用三个案例教会大家如何使用js的sort。

案例1----从小到大

排序规则

<script>
	var arr = [23,435,456,23,2,345,2,32,11,324,32,43,65,667,78,46];
	arr.sort(function(a,b){
		if(a<b) {
			return -1;
		}else {
			return 1;
		}
	});
	console.log(arr);
</script>

a,b分别表示原数组中排序靠前、排序靠后的两个数字,即a、b并不特指某个数字,但是在数组原序上数字a一定是排在数字b之前的。函数体内,如果希望这两个数组交换顺序,则返回任何一个正数即可;如果不希望这两个数交换顺序,则返回任何一个负数即可。

测试效果:

在这里插入图片描述

案例2----差值比较

a表示原数组中排序靠前的数字,b表示原数字中排序靠后的数字,返回a-b的差即表示:如果靠前的数字a大于靠后的数字b,则返回整数,表示需要交换两个数字的位置,反之则不交换,这样的规则使数组正序排列了。

排序规则

<script>
	var arr = [23,435,456,23,2,345,2,32,11,324,32,43,65,667,78,46];
	arr.sort(function(a,b){
			return a-b;
	});
	console.log(arr);
</script>

测试效果

在这里插入图片描述

案例3----字符串长短比较

var arr=["⭐⭐⭐","⭐⭐⭐⭐⭐","⭐⭐","⭐⭐⭐⭐",
"⭐⭐⭐⭐⭐⭐⭐"];

请将数组按五角星的★个数进行排序。个数也就是长度(数组.length就对了)

排序规则

<script>
	var arr=["⭐⭐⭐","⭐⭐⭐⭐⭐","⭐⭐","⭐⭐⭐⭐",
	"⭐⭐⭐⭐⭐⭐⭐"];
	arr.sort(function(a,b){
		return a.length - b.length;
	});
	console.log(arr);
</script>

测试效果

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/106235094