使用sort方法實現陣列升序降序

嘩啦啦啦發表於2021-11-06

Array.prototype.sort()

sort() 方法用於對陣列的元素進行排序。如果呼叫該方法時沒有使用引數,將按字母順序(Ascall編碼)對陣列中的元素進行排序,說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把陣列的元素都轉換成字串(如有必要),以便進行比較。如果要想進行升序或是降序排序的話,要提供比較函式。

  • 排序順序可以是字母或數字,並按升序或降序。
  • 預設排序順序為按字母升序。

語法
array.sort(sortfunction)

引數描述
sortfunction可選。規定排序順序。必須是函式。
  • 關於升序和降序的條件
當 a>b 時,
a - b > 0  ,排序結果 ===> b,a (升序)
b - a < 0  ,排序結果 ===> a,b (降序)

當 b>a 時,
a - b < 0  ,排序結果 ===> a,b (升序)
b - a > 0  ,排序結果 ===> b,a (降序)

當 a=b 時,
a - b = b - a =0 , 排序結果 ===> 保持不變

升序

// 升序
var points = [40,100,1,5,25,10];
let res = points.sort(function(a,b){
    return a-b    //升序
});

console.log(res);  [ 1, 5, 10, 25, 40, 100 ]

降序

// 降序
var points = [40,100,1,5,25,10];
let result = points.sort(function(a,b){
    return b - a
});

console.log(result);  //[ 100, 40, 25, 10, 5, 1 ]
 

按字母升序

//按字母升序 
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
console.log(fruits)  //[ 'Apple', 'Banana', 'Mango', 'Orange' ]

相關文章