随机获取数组元素 和 数组元素随机排序

Posted kikia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随机获取数组元素 和 数组元素随机排序相关的知识,希望对你有一定的参考价值。

<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>

以上是关于随机获取数组元素 和 数组元素随机排序的主要内容,如果未能解决你的问题,请参考以下文章

mpi生成随机数组并进行排序

用C语言如何将一个一维数组中的元素随机排序

java程序,随机产生包含20个元素的数组,求出数组中的最大值,最小值和平均值

js实现从数组里随机获取元素

如何从数组中获取随机元素[重复]

sort排序以及随机排序