天天看點

數組亂序js

文章來自:源碼線上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

代碼:

數組亂序js

測試:

數組亂序js

固定一個值

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

數組亂序js

測試一下:

數組亂序js