📜  如何使用 JavaScript 打乱数组?

📅  最后修改于: 2021-11-07 08:04:13             🧑  作者: Mango

对数组或列表进行混洗意味着我们随机重新排列该结构的内容。为了打乱一个数组,我们将使用以下算法:

算法 1:

javascript
function shuffleArray(array) {
   for (var i = array.length - 1; i > 0; i--) {
   
       // Generate random number
       var j = Math.floor(Math.random() * (i + 1));
                   
       var temp = array[i];
       array[i] = array[j];
       array[j] = temp;
   }
       
   return array;
}


html


 

    Shuffle array

 

     
 

Array is=[1, 2, 3, 4, 5, 6, 7]

                           


Javascript
function shuffleArray(array) {
 
   return array.sort( ()=>Math.random()-0.5 );
 
}


HTML


 

    Shuffle array

 

     
 

Array is=[1, 2, 3, 4, 5, 6, 7]

                            


例子:

html



 

    Shuffle array

 

     
 

Array is=[1, 2, 3, 4, 5, 6, 7]

                           

输出:

  • 点击按钮前:

  • 点击按钮后:

算法2:

传递函数返回(随机值- 0.5)作为比较器来排序函数,以随机的基础上元素进行排序。

Javascript

function shuffleArray(array) {
 
   return array.sort( ()=>Math.random()-0.5 );
 
}

例子:

HTML



 

    Shuffle array

 

     
 

Array is=[1, 2, 3, 4, 5, 6, 7]

                            

输出:

  • 点击按钮前:

  • 点击按钮后: