let arr = [1,80,4,33,21,55];
arr.sort(a):這裏面的a可以省略。省略的話是將數組中的元素將按照字符編碼排序的排序:1,21,33,4,51,80。不用管數組裏的元素是字符串還是number類型
如果a不省略,他可以是一個函數的返回值。當a>1,數組按照數值大小降序排列,a=0;的話,數組不變;a < 0的話,數組按照升序排列。
a可以是:function (num1,num2){
return num1-num2 //num1和num2是兩個要比較的值;
}
重點:如果想要讓一個數組隨機排序,使用Math.random();
let arr =[1,2,3,4,5,6,7,8];
arr.sort(function () { return 0.5 - Math.random() })
console.log(arr);
let arr =[1,2,3,4,5,6,7,8];
arr.sort(function(){
return 0.5-Math.random();
})
例如:arr.sort()裏面的函數如果不帶num1和num2這兩個參數的話,return的結果>0,只會使得arr原值reserve(),而不是排序。return結果 <=0時候,會保持不變。
var arr=[1,80,4,33,21,55];
arr.sort(function () { return 1}) // [55, 21, 33, 4, 80, 1]
arr.sort(function () { return -1}) // [1,80,4,33,21,55];
arr.sort(function () { return 0}) // [1,80,4,33,21,55];
console.log(arr);