随机生成不重复的数组

function random(arr) {
        var newArr = [];
        var temp = {};
        function randomNumber() {
            for (var i = 0; i < arr.length; i++) {
              var ArrIndex = Math.floor(Math.random()*arr.length);
              if(!temp[arr[ArrIndex]]) {
                  newArr.push(arr[ArrIndex])
                  temp[arr[ArrIndex]]=1;
              }
            }

        }
        randomNumber();
        return newArr
    }
    var a = random(["2", "34", "14", "98", "21", "22", "32", "134"])

    for(var j= 0;j<2;j++) {
        $("#container").append("<div>"+ a[j] +"</div>")
    }
    

思路:先随机在数组里取数据,形成新的数组,如果有重复,就再去重。这里的去重复的方法,就是先声明一个空的对象,然后判断对象的属性,属性就是数组的内容,如果没有该属性,就压入数组。形成一个不重复的数组。

时间: 2024-11-05 09:42:24

随机生成不重复的数组的相关文章

随机生成不重复的数

class Program {  static void Main(string[] args) {   Console.WriteLine("请输入要生成随机数的范围1-?"); //接收用户输入的字符   string str=Console.ReadLine ();    int it; //尝试转换用户输入的是否能转换成整型,转换成功赋值给it   bool b = int.TryParse(str, out it);   if (b == true)   {    Conso

咸蛋系列一●《模板模式构建随机对象生成》3 自定义扩展,随机生成不重复汉字

目前网上随机生成汉字的源码很多,无外乎生成四个数字,前两个构成区码,后两个构成位,然后使用区位码对应的16进制编码转换成汉字(可参考http://www.cnblogs.com/navicy/archive/2005/05/08/150756.html). 也就是说,没生成一个汉字,需要生成4个随机数,其实,仔细想想大可不如此麻烦. 研究区位码表(http://www.mytju.com/classCode/tools/QuWeiMa_FullList.asp),我们可以发现: 1. 16进制编

随机生成不重复数值

很适合初学者: 第一种方法用while循环.记得while的条件,小心死循环. public void BuildRandom() { int[] i = new int[10]; Random r = new Random(); int icount = 0; while (icount < 10) { int h = r.Next(1, 11); if (!i.Contains(h)) { Label1.Text += h.ToString() + ","; i[icount

有bug的随机生成不重复1-9的代码

#include "pch.h" #include "stdio.h" #include "stdlib.h" #include "time.h" int m[9] = {0}; int main(void) { srand(time(0)); for (int i = 1; i < 10; i++) { m[i - 1] = rand()%9+1; for (int j = 0; j < i - 1; j++)

js选择颜色小游戏(随机生成不含重复数字的数组,通过数组中的数控制定义好的数组)

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>js网页版小游戏</title> <style media="screen"> .wrap { width: 577px; outline: 1px solid hotpink; margin: 100px auto; box-shadow: 0 0 5px; } .

C#生成不重复随机字符串类

本文实例讲述了C#生成不重复随机字符串类.分享给大家供大家参考.具体如下: 这个C#类用于随机产生不重复的字符串,可以指定字符串范围,可以指定要产生字符串的长度 using System; namespace DotNet.Utilities { public class RandomOperate { // 一:随机生成不重复数字字符串 private int rep = 0; public string GenerateCheckCodeNum(int codeCount) { string

关于2048小游戏中随机生成2与4个数的问题

public class InitNumer { Random random = new Random(); public InitNumer() { super(); } /** * 随机生成一个二维数组,并指定生成的2与4的个数 * @param rowAndCol 二维数组的宽与高 * @param numberOf2 数字2的个数 * @param numberOf4 数字4的个数 */ public int[][] randomGetNumber(int rowAndCol, int

随机生成一组不重复的随机数组

public string RadomNumArray() { Random r = new Random(); int a = 0; int[] num = new int[6]; string text = ""; for (int i = 0; i < 6; i++) {//循环生成6个数字 a = r.Next(0, 99);//随机生成0到99之间的数字 num[i] = a; for (int k = 0; k < num.Length; k++) {//遍历数

转:在0~N(不包括N)范围内随机生成一个长度为M(M &lt;= N)且内容不重复的数组

1. 最朴素暴力的做法. void cal1() { int i = 0, j = 0, num = 0; int result[M]; result[0] = rand() % N; //第一个肯定不重复, 直接加进去 for (i = 1; i < M; i++) //获得剩下的(M-1)个随机数 { num = rand() % N; //生成0 ~ N之间的随机数字 for (j = 0; j < i; j++) { if (num == result[j]) //如果和result数