文章來自:源碼線上https://www.shengli.me/javascript/481.html
顧名思義,數組亂序就是把數組存儲的值的順序都打亂。
著名的洗牌算法,原理就是周遊數組元素,将目前元素與随機抽取的一個剩餘元素進行交換。
下清單格周遊元素是從後往前:
随機數範圍 | 随機數 | 原始資料 | 結果 |
---|---|---|---|
1 2 3 4 5 6 | |||
[ 0 , 5 ] | 1 | 1 6 3 4 5 | 2 |
[ 0 , 4 ] | 3 | 1 6 3 5 | 4 2 |
[ 0 , 3 ] | 1 | 1 5 3 | 6 4 2 |
[ 0 , 2 ] | 2 | 1 5 | 3 6 4 2 |
[ 0 , 1 ] | 1 | 1 | 5 3 6 4 2 |
[ 0 , 0 ] | 1 5 3 6 4 2 |
代碼:

測試:
固定一個值
在亂序的同時,固定一個下标的值,使其位置不變
測試一下: