1. 程式人生 > >js隨機打亂一個數組

js隨機打亂一個數組

//1
function shuffle(array) {
    var currentIndex = array.length, temporaryValue, randomIndex;
/*method1--bigin*/
while (0 !== currentIndex) {
        randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue; } /*method1--end*/ /*method2--begin*/ for(var j, x,i=currentIndex; j=parseInt(Math.random() * i), x = array[--i],array[i] = array[j],this[j] = x); /*method2--end*/ return array; } var arr = [2, 11, 37, 42]; arr = shuffle(arr); console.log(arr); //2[自定製sort函式] (function
(){ var count = 100000,arr = []; for(var i=0;i<count;i++){ arr.push(i); } //常規方法,sort() var t = new Date().getTime(); Array.prototype.sort.call(arr,function(a,b){ return Math.random()>.5 ? -1 : 1;}); document.write(arr+'<br/>'); var t1 = new Date().getTime(); document.write(t1-t);
})()