生成隨機數組

  一道經典的面試題,如何把一個有序數組隨機打亂。代碼以下:面試

    //生成隨機數組,start,end 分別數隨機數組的首個數和最後一個數, start < end
    function GetRandomArr(start, end)
    {
        var initArr = []; 
        for (var i = start; i <= end; i++)
        {
            initArr.push(i);
        }
        
        console.log(initArr);
        
        for (var i = 0; i < initArr.length; i++)
        {
            var randomNum = GetRandomNum(0, initArr.length - i);
            var temp = initArr[randomNum];
            initArr[randomNum] = initArr[initArr.length - 1- i ];
            initArr[initArr.length - 1- i ] = temp;
        }
        
        console.log(initArr);
    }
    
    //生成隨機數
    function GetRandomNum(start, end)
    {
        var num = Math.random() * (end - start) + start;
        num = parseInt(num);
        return num;
    }

 運行結果以下:數組

相關文章
相關標籤/搜索