<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>js随机排序数组中的元素</title>
</head>
<body>
<p id="demo">单击按钮随机排列数组。</p>
<button onclick="myFunction()">点我</button>
<script>
//随机排序方法一:通过伪随机函数和数组的sort排序方法实现
function RandomSort1(arr) {
arr.sort(function () {
return Math.random() - 0.5;
});
}
//随机排序方法二(推荐)
//通过循环数组和random函数,在每次循环中产生随机的下标,将当前下标元素与随机下标元素进行互换
function RandomSort2(arr) {
var i = arr.length, t, j;
while (i) {
j = Math.floor(Math.random() * i--);
t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
function myFunction(){
var fruits = [1,2,3,4,5,6,7,8,9,10];
RandomSort2(fruits);
var x=document.getElementById("demo");
x.innerHTML=fruits;
}
</script>
</body>
</html>