国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - js完全打亂數組

瀏覽:87日期:2023-03-29 10:30:52

問題描述

var arr = [0,1,2,3,4,5,6,7]

完全打亂,要求,每個元素的位置必須要變動

問題解答

回答1:

首先,題主并不是要傳統的數組亂序,如果是傳統的數組亂序,當然首推 Fisher-Yates,Math.random() 的黑科技并不能保證概率的一致,詳情可以看我以前的分析 https://github.com/hanzichi/u...

如果每個位置都需要變動,隨便寫了一段代碼,勉強可以用:

function shuffle(a) { let len = a.length; let shuffled = Array(len); for (let i = len; i--; ) { let rand = ~~(Math.random() * i); shuffled[i] = a[rand]; a[rand] = a[i]; } return shuffled;}

新建了一個數組,并且污染了原數組,很不優雅,題主可以自己改進下

回答2:

把最后一個放第一個就實現了每個元素都動了,可是完全打亂是什么意思?

var arr = [0,1,2,3,4,5,6,7], last = arr[arr.length - 1];arr.splice(arr.length - 1, 1);arr.unshift(last) 回答3:

隨機是不可能保證每個位置都變動的。

要徹底打亂,就不能保證位置都變。

笨一點的方法就是打亂一次,再跟數組做比較,直到符合條件為止。

回答4:

剛沒看清 , 這個可以嗎?function upset(arr){ let newArr = arr.slice().sort(() => Math.random()>0.5 ? 1 : -1) let result = arr.some((item,index)=>{ return item === newArr[index] }) if(!result){ return newArr }else{ return upset(newArr) }}回答5:

function compare(a , b){Math.random > 0.5 ? return -1 ; return 1 } arr.sort(compare); 回答6:

function shuffle (arr) {

var _floor = Math.floor,_random = Math.random,len = arr.length; for(var i = 0; i < len - 1; ++i){var rand_pos = _floor(_random() * (len - i)) + i;if(rand_pos != i){ var tmp = arr[i]; arr[i] = arr[rand_pos]; arr[rand_pos] = tmp;} } return arr;};回答7:

隨機平移,凱撒加密紅紅火火……

function shuffle (arr) { if (!Array.isArray(arr)) { return [] } var len = Math.floor(Math.random() * (arr.length - 1)) + 1 return arr.slice(len).concat(arr.slice(0, len))}回答8:

最簡單的位置全都動

> arr = [0,1,2,3,4,5,6,7]> arr.unshift(arr.pop())> arr[ 7, 0, 1, 2, 3, 4, 5, 6 ]> arr.sort((a , b)=>Math.random() > 0.5 ? -1:1)[ 6, 5, 4, 0, 1, 3, 7, 2 ]> arr.sort((a , b)=>Math.random() > 0.5 ? -1:1)[ 6, 0, 5, 3, 4, 7, 1, 2 ]

位置全都動其實并不是最亂的;

最亂的應該是隨機洗牌,有一定概率保持某個數不動,這樣才沒規律可循。

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 毛片免费观看的视频在线 | 亚洲国产精品免费观看 | 国产三级黄色片 | 日本韩国一级毛片中文字幕 | 国内自拍亚洲 | caoporen免费公开视频上传 | 久久综合久久88 | 欧美成人精品欧美一级乱黄 | 国产精品单位女同事在线 | 国产精品正在播放 | 精品国产三级a∨在线 | 亚洲欧美日韩国产综合 | 99je全部都是精品视频在线 | 久久久综合结合狠狠狠97色 | 15—17女人毛片 | 亚洲国产日韩在线 | 午夜精品久久久久久毛片 | 看一级特黄a大片日本片 | 亚洲精品久久玖玖玖玖 | 国产精品亚洲二区在线 | 国产日韩一区二区三区在线观看 | 欧美成人看片黄a免费看 | 国产三级香港在线观看 | 九九在线视频 | 三级黄色片网站 | 性视频网站在线 | 大伊香蕉精品视频在线观看 | 国产老鸭窝毛片一区二区 | 久久精品免视着国产成人 | 国产高清毛片 | 99视频有精品视频免费观看 | 男女性高爱潮免费网站 | 美女视频免费黄的 | 国产三级在线视频播放线 | 亚洲人成影院在线高清 | 日本尹人综合香蕉在线观看 | 日韩亚洲欧美综合一区二区三区 | 日本www高清免费视频观看 | 男女免费观看在线爽爽爽视频 | 精品久久久久久免费影院 | 97久久国语露脸精品对白 |