JS寫隨機數

來源:互聯網
上載者:User

標籤:

使用JS編寫一個方法 讓數組中的元素每次重新整理隨機排列(不得使用sort方法;需註明步驟思路)。例如:初始數組:a,b,c,d  每次重新整理頁面都會顯示不同:b,c,d,a….a,d,c,b…等等
代碼:

<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<!--變換順序按鈕-->
<input type="button" id="btnSort" value="變換順序"/>
<script type="text/javascript" charset="UTF-8">
var arr=["a","b","c","d"]; //定義一個數組,內容為a,b,c,d
var btn=document.getElementById("btnSort"); //擷取按鈕button的節點
btn.onclick=function(){
var newArr=arrSort(arr);
console.log(newArr.join(",")); //將數組newArr的內容,在控制台以逗號分開進行輸出
}
function arrSort(arr){ //定義一個函數
var newArr=[]; //定義一個新的數組
var temp=[]; //定義一個新的數組
for(var p in arr){ //參考型別不能直接用等號,通過迴圈來進行複製; 這裡的p為下標,表示為取數組arr中的下標
temp[p]=arr[p]; //將數組arr中的數賦值給新數組temp
}
for(var i=0;i<arr.length;i++){ //隨機數 最小值為0; 最大值為 數組的長度-1
var random=Math.round(Math.random()*(temp.length-1)); //產生0-數組temp.length-1的隨機數
newArr[i]=temp[random]; //將數組temp隨機產生的數賦值給新數組newArr
temp.splice(random,1); //刪除已經產生了的隨機數對應的數組temp下標的值;
}
return newArr;
}
</script>
</body>
</html>

JS寫隨機數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.