数组元素的随机排序

function randomOrder (targetArray) {

  var arrayLength = targetArray.length;     //目标数组的长度

  var tempArray1 = new Array();  //先创建一个正常顺序的数组

for (var i = 0; i < arrayLength; i ++)     {    //将目标数组的元素赋于数组tempArray1

    tempArray1 [i] = i;

   }

  //再根据上一个数组创建一个随机乱序的数组

  var tempArray2 = new Array();

for (var i = 0; i < arrayLength; i ++)     {

     tempArray2 [i] = tempArray1.splice (Math.floor (Math.random () * tempArray1.length) , 1);  //从正常顺序数组中随机抽出元素

  }

   //最后创建一个临时数组存储 根据上一个乱序的数组从targetArray中取得数据

  var tempArray3 = new Array();

for (var i = 0; i < arrayLength; i ++)     {

    tempArray3 [i] = targetArray [tempArray2 [i]];

  }

  return tempArray3; //返回最后得出的数组

}

时间: 2024-10-29 19:11:17

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

mongo 数组元素检索与排序

db.getCollection('test').aggregate([ {'$match': {'codes.name': 'a'}}, // 检索文档 {$unwind: "$codes"}, // 拆分数组 {'$match': {'codes.name': 'a'}}, // 检索数组元素 {'$sort': {'codes._id': -1}}, {'$skip': 2}, {'$limit': 3} ])

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

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

对象和数组-把数组里的元素按照自然排序

———————————————————————— <script type="text/javascript">                var arr = new Array();        //创建一个数组            for(var i=0;i<10;i++){        //遍历打印数组的值                //数组的值随机获得,100一下的正整数                arr[i] = Math.floor(Ma

java数组随机排序实现代码

例一 代码如下 复制代码 import java.lang.Math;import java.util.Scanner;class AarrayReverse{ public static void main(String args[]) { int a[]=new int[20]; for(int i=0;i<=15;i++) { Scanner sca=new Scanner(System.in); System.out.println("请输数组元素a["+"]&

数组元素排序

/*编写一个void sort(int *x,int n)实现将x数组中的n个数据从大到小 排序.n及数组元素在主函数中输入.*/ #include <stdio.h> void sort(int *x, int n); void outPutAraay(int *x, int n); void swap(int *v1, int *v2); int main(int argc, const char * argv[]) { int n; printf("请输入数组元素的个数n\n&

使用函数指针,完成一个sort()函数,能对任何类型的数组元素进行排序: 回调函数 以及 memcpy ()原型实现

进来复习了一下C语言指针,一直没有写过太多关于函数指针的代码,而且对回调函数的理解一直都是在理论上,基本上没有太写过关于它的代码,进来得空,写了一个小程序加深下自己对回调函数和函数指针的理解. 问题描述: 编写一个sort()函数,使它能够对任何类型的数组元素进行排序. 下面是我写的代码: /* 使用函数指针的回调函数技巧,设计一个能排序int 和char 数组的sort()函数 */ #include<stdio.h> #include<stdlib.h> #include<

二维数组元素排序

<script type="text/javascript">//--------------------------1数值排序-------------------------var arr1=[[22,33,44],[1,0,6,2],[33,10],[10,5]];arr1.sort(function(x,y){ return x[1] -y[1];//按照二维数组arr1中每个数组元素(数组)的第二个元素升序排列 });console.log(arr1); //--

js对数组元素大小排序实例代码

js对数组元素大小排序实例代码:在实际应用中,有时候需要对数组中的元素按照大小来进行排序,当然是先排序的方法有多种,比如使用数组对象自带的sort()方法,本章节再来分享一种其他的方式,先看代码实例: var org=[5,4,3,2,1,6,7,9,8,10]; var tempArr=new Array(); for(var i=0;i<org.length;i++) { if(i==0) { tempArr[0]=org[0]; //把第一个元素放到新序列 } else { for(var

c# 逆转数组元素的排序

c#中逆转数组元素的排序实例代码如下: private string[] G_str_array;//定义字符串数组字段 private void Frm_Main_Load(object sender, EventArgs e) { G_str_array = new string[] {"C#-1","C#-2","C#-3","C#-4","C#-5"};//为字符串数组字段赋值 foreach (s