Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:生成随机数并存储在多维数组中_Javascript_Arrays_Random_Associative - Fatal编程技术网

Javascript:生成随机数并存储在多维数组中

Javascript:生成随机数并存储在多维数组中,javascript,arrays,random,associative,Javascript,Arrays,Random,Associative,我试图生成随机数并将其存储在多维数组o中(需要示例帮助) 我想要实现的是从数组中生成一组6个数字,并将它们存储在numOfResults集中 我希望避免在每个集合中生成重复的数字 目前代码生成集合,但3个集合是相同的 [ [ 8, 52, 9, 34, 51, 19 ], [ 8, 52, 9, 34, 51, 19 ], [ 8, 52, 9, 34, 51, 19 ] ] 下面列出了我的代码: var yourNum = { yP : [3, 5, 8, 9, 12, 14

我试图生成随机数并将其存储在多维数组o中(需要示例帮助)

  • 我想要实现的是从数组中生成一组6个数字,并将它们存储在numOfResults集中
  • 我希望避免在每个集合中生成重复的数字
  • 目前代码生成集合,但3个集合是相同的

    [ [ 8, 52, 9, 34, 51, 19 ], [ 8, 52, 9, 34, 51, 19 ], [ 8, 52, 9, 34, 51, 19 ] ]
    
    下面列出了我的代码:

        var yourNum = {
        yP : [3, 5, 8, 9, 12, 14, 17, 19, 21, 23, 26, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59],
        numOfResults: [],
        yPvalue : [],
        generateRandom: function () {
            var nRandom = Math.floor(Math.random() * (yourNum.yP.length));
            return nRandom;
        }
    };
    
    var genResults = function (num) {
        var count = num; 
        for (var i = 0; i < count; i++) {
            for (var j = 0; j < 6; j++) {
                if(yourNum.yPvalue.length < 6) {
                    yourNum.yPvalue.push(yourNum.yP[yourNum.generateRandom()]);
                }
            }
            yourNum.numOfResults[i] = yourNum.yPvalue;
        }
        console.log("---------NEW---------");
        console.log(yourNum.numOfResults);
    };
    
    //var random = Math.floor(Math.random() * (yourNum.yP.length));
    //var yPvalue = yourNum.yP[random];
    //console.log("Your random number" + " " + random + " " + yPvalue);
    
    genResults(3);
    
    var yourNum={
    yP:[3,5,8,9,12,14,17,19,21,23,26,27,29,31,32,33,34,35,36,37,38,39,41,42,43,44,45,46,48,50,51,52,53,54,55,57,59],
    numOfResults:[],
    yPvalue:[],
    GeneratorDOM:函数(){
    var nRandom=Math.floor(Math.random()*(yourNum.yP.length));
    返回nRandom;
    }
    };
    var genResults=函数(num){
    var计数=num;
    对于(变量i=0;i
    您需要

    yourNum.yPvalue = [];
    
    之后


    否则,多维数组的成员都将是相同的数组。因此,当您的程序尝试获取接下来的六个随机数时,不会发生任何事情,因为它们会使数组长度超过六个元素,这是您的程序所阻止的。

    这是唯一的解决方案吗?我可以做些什么,而不必重写一个清空数组的调用。
    yourNum.yPvalue = [];
    
    yourNum.numOfResults[i] = yourNum.yPvalue;