数组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]