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