关于javascript:使用sort方法实现数组升序降序

31次阅读

共计 767 个字符,预计需要花费 2 分钟才能阅读完成。

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

正文完
 0