Re: [ js ] 隨機分配網頁

看板Ajax作者 (for pete's sake)時間16年前 (2009/04/01 03:06), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《chenyutn (人生要死,何為苦心。)》之銘言: : 我想讓使用者可以經由javascript分配到不同的兩個網頁上 : 所以參考了網路上的資料 寫成下面這段 : 隨機產生1-2的數字 得到數字1就到001網頁 得到數字2則到002網頁 : <script language="javascript"> : var fileurl; : fileurl = "000" + parseInt((Math.random()*2+1)); : fileurl = fileurl.substring(fileurl.length-3,fileurl.length); : top.frames["main"].location.href = fileurl + ".html";//frames:指定框架 : </script> : 但因為我跟javascript不是很熟 : 不知道這樣的方式是不是能夠真的達到隨機分配? : 或者會不會有什麼額外的問題? 首先謝謝你提供random的寫法 以前沒去想過js要怎麼寫random 我也不確定這樣寫是不是夠隨機 java裡會另外加time seed進去 讓它更隨機 我想說直接跑幾筆資料 看結果夠不夠隨機 亦即一半一半 50%、50% 分別跑了[100,1000,10000,100000,100000]筆資料 網頁重新整理幾次觀察 確實是夠隨機 沒有特別偏向某一邊 根據「中央極限定理」 樣本數愈大時 樣本分配會趨近於常態分配 故得證# XD demo: http://noking.googlepages.com/random.html 隨意選擇一筆測資如下: sampleNum: 0, sampleSize: 100 chanceOneCount: 50 chanceTwoCount: 50 sampleNum: 1, sampleSize: 1000 chanceOneCount: 509 chanceTwoCount: 491 sampleNum: 2, sampleSize: 10000 chanceOneCount: 4984 chanceTwoCount: 5016 sampleNum: 3, sampleSize: 100000 chanceOneCount: 49791 chanceTwoCount: 50209 sampleNum: 4, sampleSize: 100000 chanceOneCount: 49976 chanceTwoCount: 50024 code如下: var randomNumber; var chanceOneCount; var chanceTwoCount; var sample=[100,1000,10000,100000,100000]; for(var sampleNum=0; sampleNum < sample.length ; sampleNum++){ chanceOneCount=0; chanceTwoCount=0; for(var i=0 ; i< sample[sampleNum] ; i++){ randomNumber = parseInt(Math.random()*2+1); if(randomNumber==1){ chanceOneCount++; } if(randomNumber==2){ chanceTwoCount++; } } document.write("sampleNum: " +sampleNum + ", sampleSize: " + sample[sampleNum] + "<br>"); document.write("chanceOneCount: " +chanceOneCount + "<br>"); document.write("chanceTwoCount: " +chanceTwoCount + "<br><br>"); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.40.183

04/01 14:46, , 1F
感謝!^^
04/01 14:46, 1F
文章代碼(AID): #19qcclAM (Ajax)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #19qcclAM (Ajax)