用sort()方法随机打乱数组
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
我們先看一下隨機(jī)數(shù)組排序的示例,再來(lái)研究其中的原理。
隨機(jī)數(shù)組排序示例
var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411]; numbers = numbers.sort(function(){ return Math.random() - 0.5});我們可以把任意數(shù)組重新排序,然后輸入。
sort()的用法:
sort()是數(shù)組操作的一個(gè)方法,目的是對(duì)數(shù)組重新排序。先看下面的使用方法:
arrayobj.sort(function);如果有函數(shù),那么sort()方法會(huì)把數(shù)組中的元素兩兩傳進(jìn)執(zhí)行的函數(shù),如果返回為1則調(diào)換兩個(gè)元素的位置,如果返回為-1則不變化。arrayobj為目標(biāo)數(shù)組,function為sort()方法執(zhí)行的函數(shù),如果不寫(xiě)這個(gè)參數(shù),那么元素將按照 ASCII 字符順序進(jìn)行升序排列。
注意:在執(zhí)行的過(guò)程中,并不會(huì)生成新的數(shù)組對(duì)象。
使用sort()生成隨機(jī)打亂數(shù)組:
看了上面的介紹應(yīng)該明白了sort()用法,那么我們一起來(lái)看一下代碼吧:
function autoSort(a,b){//生成隨機(jī)數(shù)跟0.5比較return Math.random() >= 0.5 ? 1 : -1; } var arr = ["a","b","c","d"]; arr.sort(autoSort);//往autoSort中兩兩傳入數(shù)組元素 alert(arr);//打亂順序之后的隨機(jī)數(shù)組。?
如果你還不明白JS數(shù)學(xué)函數(shù)的應(yīng)用,那么請(qǐng)閱讀?《JS常用的數(shù)學(xué)函數(shù)總匯》上面的方法就是依賴autoSort()函數(shù)產(chǎn)生的隨機(jī)數(shù),如果>=0.5則返回1,小于0.5則返回-1。 從而sort()也就會(huì)隨機(jī)排序數(shù)組了。
轉(zhuǎn)載于:https://my.oschina.net/zhangyafei/blog/756777
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的用sort()方法随机打乱数组的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PHP提取字符串中的数字
- 下一篇: DOM 事件深入浅出(二)