1. 程式人生 > >JS陣列隨機排數

JS陣列隨機排數

陣列隨機排數

直接貼程式碼
function shuffle(arr) {
    let i = arr.length;
        while (i) {
                let j = Math.floor(Math.random() * i--);
                [arr[j], arr[i]] = [arr[i], arr[j]];
        }
        return arr
    }
程式碼分析:
1. 直接將陣列傳參,對陣列進行倒迴圈;

2. 利用 Math.floor(Math.random() * i--) 獲取一個不大於陣列長度的隨機數 j,即隨機從陣列中抽取一個元素arr[j];

3. 每次迴圈,都將陣列的最後一個元素(即 arr[i]),與  隨機得到的元素 arr[j]進行互換;

4. 最後 返回 打亂順序的 陣列 arr.

以上,最後附上一篇詳解js陣列的文章