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