js排序——sort()升降排序用法

115 阅读1分钟

默认情况下,sort()会按照升序重新排列数组元素,即最小的值在前面,最大的值在后面。

sort()会在每一项上调用 String()转型函数然后比较字符串来决定顺序即使数组的元素都是数值,也会先把数组转换为字符串再比较、排序

  1. 不传参数,将不会按照数值大小排序,按照字符编码的顺序进行排序;
		var arr = ['General','Tom','Bob','John','Army'];
		var resArr = arr.sort();
		console.log(resArr);//输出   ["Army", "Bob", "General", "John", "Tom"]
		
		var arr2 = [30,10,111,35,1899,50,45];
		var resArr2 = arr2.sort();
		console.log(resArr2);//输出   [10, 111, 1899, 30, 35, 45, 50]

  1. 传入参数,实现升序,降序;

		var arr3 = [30,10,111,35,1899,50,45];
		arr3.sort(function(a,b){
			return a - b;
		})
		console.log(arr3);//输出  [10, 30, 35, 45, 50, 111, 1899]
		
		var arr4 = [30,10,111,35,1899,50,45];
		arr4.sort(function(a,b){
			return b - a;
		})
		console.log(arr4);//输出 [1899, 111, 50, 45, 35, 30, 10]