使用sort方法实现数组升序降序

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' ]

你可能感兴趣的:(使用sort方法实现数组升序降序)