數組隨機打亂

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);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章