数组排序sort

280 阅读1分钟

数组sort方法

sort()方法可以对数组元素进行排序。

可以按照字母或数字进行升序或降序。

默认排序为字母排序,且为升序。

sort()方法会改变原数组。

字母排序

字母升序排序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];\
fruits.sort(); 
console.log(fruits)
//[ "Apple", "Banana", "Mango", "Orange" ]  (原数组fruits被改变)

字母降序排序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();
console.log(fruits)
//["Orange","Mango","Banana","Apple"]

当数字被当做字母进行排序时,会按数字最高位的大小进行排序

var a=[102,28,3,29,11]
a.sort(); //数字当做字母进行升序排序
console.log(a)
//[ 102, 11, 28, 29, 3 ]   3>2>1

数字排序

数字排序时需要使用函数作为参数进行调用,可以通过函数参数来指定升序还是降序。

数字升序排序:

var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b}); //函数参数为a-b时为升序
console.log(points)
//[1,4,10,25,40,100]

数字降序排序:

var points = [40,100,1,5,25,10];
points.sort(function(a,b){return b-a}); //函数参数为b-a时为降序
console.log(points)
//[100,40,25,10,5,1]