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

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

时间: 2024-10-28 03:49:21

随机获取数组元素 和 数组元素随机排序的相关文章

PHP如何随机获取一个二维数组中的一个值

获取一个数组: $awardid_list=pdo_fetchall('select id from '.tablename($this->table_award)); 这是微擎的写法哈,意思就是查询一组字段为id的数据: 二维数组如图: 那么值是1.2.3,我们如何随机获取呢,请往下看代码: $no=array_rand($awardid_list); print_r($awardid_list[$no]['id']); 这样就OK了哈,就可以随机获取值1.2.3了哦.

js在数组arr中随机获取count数量的元素

// 在数组arr中随机获取count数量的元素; const getRandomArrayElements = (arr, num) => { // 新建一个数组,将传入的数组复制过来,用于运算,而不要直接操作传入的数组; let temp_array = new Array(); for (let index in arr) { temp_array.push(arr[index]); } // 取出的数值项,保存在此数组 let return_array = new Array(); fo

转 :asp教程.net c#数组遍历、排序、删除元素、插入、随机元素 数组遍历

asp教程.net c#数组遍历.排序.删除元素.插入.随机元素数组遍历 short[] sts={0,1,100,200};for(int i=0;i<sts.lenght;i++){  if(sts[i]>50) {  .....  }} 数组随机元素 public  hashtable  noorder(int count)         {             arraylist mylist = new arraylist();             hashtable ha

随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。

int a[20] = {0};//定义一个长度为20的数组a int max = 0;//用来存储数组a中所有元素的最大值 int min = 0;//用来存储数组a中所有元素的最小值 int sum = 0;//用来存储数组a各元素的和 float aver = 0.0;//用来存储数组a中所有元素的平均值 int secondMax = 0;//用来存储数组a的第二大值,第二大值 为 不同于最大值的剩余元素的最大值 for (int i = 0; i < 20; i++) {//用来循环获

用C随机产生的正整数存到数组中,并求数组中的所有元素最大值、最小值、平均值以及各元素之和,及第二大值。

用 C 求一组随机数的第二大值,不能通过对整体排序求得 1 随机产生20个[10 , 50]的正整数存到数组中,并求数组中的所有元素最大值.最小值.平均值以及各元素之和,及第二大值.        int a[20];    int sum = 0; //存储数组元素的和    //为数组赋值    printf("数组中的元素为:\n ");    for (int i = 0; i < 20; i ++) {        a[i] = arc4random() % 41 +

php array_rand()函数从数组中随机选择一个或多个元素

php使用array_rand()函数从数组中随机选择一个或多个元素的方法. 使用array_rand() 函数从数组中随机选出一个或多个元素,并返回. array_rand(array,number) 参数 描述 array 必需.规定输入的数组参数. www.jbxue.com number 可选.默认是 1.规定返回多少个随机的元素. 例子: <?php $a=array("a"=>"Dog","b"=>"Cat

随机生成一个数组,然后依次以 当前元素:当前元素之前的元素 格式输出

int main(void) { int m[9] = { 0 }; srand(time(0)); for (int i = 0; i < 9; i++) { m[i] = rand() % 9 + 1; } printf("your array are :\n"); for (int i = 0; i < 9; i++) { printf("%d ",m[i]); } printf("\n"); for (int i = 0; i

随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一个计数器,对Set进行循环,当计数器等于随机数时返回当前元素,对于Map的处理也类似. 不知有没有更好的方法-- package com.xjj.util; import java.util.List; import java.util.Map; import java.util.Set; impo

php随机获取数组里面的值

srand() 函数播下随机数发生器种子,array_rand() 函数从数组中随机选出一个或多个元素,并返回.第二个参数用来确定要选出几个元素.如果选出的元素不止一个,则返回包含随机键名的数组,否则返回该元素的键名. array_rand() 函数在你想从数组中取出一个或多个随机的单元时相当有用.它接受 input 作为输入数组和一个可选的参数 num_req,指明了你想取出多少个单元 - 如果没有指定,默认为 1.  如果你只取出一个,array_rand() 返回一个随机单元的键名,否则就