推 shadowjohn: $('#fruit').each(function(i){ --> 怪怪的 #fruit處 01/15 14:11
→ shadowjohn: #fruit是 id,但id應該是唯一值 01/15 14:12
真的耶 不用id就可以了! 感謝shadowjohn!
→ bibo9901: 這是我看過的錯誤shuffle方法中 最蠢的一種 01/15 14:14
這是我從一個網路上影片裡面看來的 請問這樣會有什麼問題?
→ bibo9901: 1.這個方法是錯的,機率並不平均,你可以自己實驗 01/15 14:40
→ bibo9901: 2. 0.5 - rand() 和 rand() 是一樣的意思 沒有任何意義 01/15 14:42
→ bibo9901: 我講錯了,2.是為了把rand的範圍調整至[-1,1] 01/15 14:46
推 Kenqr: shuffle相關的討論可在板上搜尋這個標題: 01/15 15:20
→ Kenqr: chrome 的 Math.random() 好固定的感覺 01/15 15:20
感謝各位提供意見 我再來研究看看
※ 編輯: imjeffreylee (73.142.228.247), 01/15/2018 23:51:29
推 oToToT: 亂給值是undefined behavior,會出現任何問題都是合理的吧 01/16 00:22
推 oToToT: 話說這樣的寫法機率是平均的嗎? 01/16 00:42
推 Kenqr: 樓上的寫法應該是不平均的。 01/16 11:37
→ Kenqr: 假如陣列只有3項,排列組合就會有6種,每種的機率要一樣。 01/16 11:37
→ Kenqr: 執行迴圈時依照產生的亂數,會出現27種執行過程, 01/16 11:37
→ Kenqr: 27種過程的發生機率相同。 01/16 11:38
→ Kenqr: 27/6無法整除,所以6種排列組合的出現機率是不同的。 01/16 11:38
推 LPH66: oToToT 的方法改一個地方就平均了 01/16 18:11
→ LPH66: var key 那行限定產生出來的 key 大於等於 i 即可 01/16 18:11
→ LPH66: 這樣就等同於每次從一疊牌中隨機抽一張出來 01/16 18:13
→ shadowjohn: 寫個迴圈,陣列裡的值隨機倆倆交換,這種小陣列 01/17 08:36
→ shadowjohn: 隨便跑個幾十次就亂七八糟了,跟撲克牌一樣 01/17 08:36
推 Hevak: Fisher–Yates shuffle 01/17 21:28