首页 > 代码库 > 随机获取数组元素 和 数组元素随机排序
随机获取数组元素 和 数组元素随机排序
<script type="text/javascript">
//随机取得数组中的一个元素
function Rand(){
var arr=[11,22,33,44];
var a=Math.floor(Math.random()*arr.length);//Math.floor(Math.random()); //Math.floor()方法执行的是向下取整计算,它返回的是小于或等于函数参数,并且与之最接近的整数。
//alert(Math.random()*arr.length);
//alert(a);
alert(arr[a]);
return arr[a];
}
Rand()
//数组元素随机排序:方法一
// var arrs=[11,22,33,44];
// var newArr=arrs.sort(function(){
// return Math.random()>0.5?-1:1;
// })
// alert(newArr)
// sort() 方法用于对数组的元素进行排序,对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
// 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
// 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
// 若 a 等于 b,则返回 0。
// 若 a 大于 b,则返回一个大于 0 的值。
//数组元素随机排序:方法二
var arr1=[11,22,33,44];
var arr2=[];
//如果把一个数组所有元素for遍历出来再随机选取一个,那么选取的元素很可能是重复同一个,
//如果随机取过一个元素之后,又能把这个元素删除,那么之后再继续对数组随机取值,就不会出现重复的情况
//splice 添加删除数组元素,并返回 删除的 数组元素
//如果arr1长度>0,用splice随机删除一个arr1中的元素,并把这个删除的存到一个新数组里面arr2中,那么arr2是一个作为一个新的随机生成的数组,函数返回这个数组
//alert(arr1.splice(1,1));
function a(){ //while只要指定条件为 true,循环就可以一直执行代码。
while(arr1.length>0){
arr2.push(arr1.splice(Math.floor(Math.random()*arr1.length),1));
}
alert(arr2);
}
a();
//alert(len);
</script>
随机获取数组元素 和 数组元素随机排序