一概要
Math.ceil(Math.random()*10); // 获取从 1 到 10 的随机整数,取 0 的概率极小。
Math.round(Math.random()); // 可均衡获取 0 到 1 的随机整数。
Math.floor(Math.random()*10); // 可均衡获取 0 到 9 的随机整数。
Math.round(Math.random()*10); // 基本均衡获取 0 到 10 的随机整数,其中获取最小值 0 和最大值 10 的几率少一半。
二方法举例
2.1 方法1
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<script>
var arr =[1,2,3,4];
var brr = [];
var num = arr.length;
for (var i = 0; i < num; i++){
var temp = parseInt(Math.random()*(num-i));
brr.push(arr[temp]);
arr.splice(temp,1);
}
for (var i = 0; i < num; i++){
document.write(brr[i]);
}
</script>
</body>
</html>
排序前:1234
排序后:4132
2.2 方法2
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<script>
var arr =[1,2,3,4];
var t;
for(var i = 0;i < arr.length; i++){
var rand = parseInt(Math.random()*arr.length);
t = arr[rand];
arr[rand] =arr[i];
arr[i] = t;
}
document.write(arr);
</script>
</body>
</html>
排序前:1234
排序后:4132
2.3 方法3
<html>
<head>
<title>无标题文档</title>
</head>
<body>
<script>
function randomsort(a, b) {
return Math.random()>.5 ? -1 : 1; //通过随机产生0到1的数,然后判断是否大于0.5从而影响排序,产生随机性的效果。
}
var arr = [1, 2, 3, 4, 5];
arr.sort(randomsort);
document.write(arr);
</script>
</body>
</html>
排序前:12345
排序后:4,3,1,2,5