如何随机选择一个数组?

时间:2012-05-03 09:18:46

标签: javascript arrays

我目前正在创建一款允许用户点击大量图片的游戏。根据他们点击的图像,会发生不同的事情。我看过以前的问题,他们似乎都在问“如何随机选择数组中的项目”。但是,我的略有不同。对不起,如果你觉得我的答案就在其他地方。但无论如何!

我的问题很简单:

如何随机选择阵列?到目前为止,我的代码包含一个函数,可以检查数组中是否存在整数。到目前为止,这是我的代码。

//The array below contains the integers.
example=new Array(1,2,3);


//The function below checks whether 'image' (which is an integer) is the same as any integers within the example array.

function isItThere(obj) {
    var j = false;
    for (var i = 0; i < example.length; i++) {
        if (example[hits] == obj) {
            j = true;
            break;
        }
    }
    return j;
}
//This is the IF statement I have used. After the integer associated with 'image' has been passed through the 'isItThere' function either A or B will happen. (A happens if the number exists).
if(isItThere(image)){

目前,这一切都完美无缺。虽然它可能不是最有效的方式,但它实现了我迄今想要的东西。

但我现在想拥有多个包含整数的数组。这是因为如果用户重新加载游戏,那么他们确切地知道要按哪些图像来赢得游戏。因此,我想创建几个数组,其中一个将在游戏开始时随机选择。

例如......

example0=new Array(1,2,3);
example1=new Array(4,5,6);
example2=new Array(7,8,9);

我相信我应该使用以下代码。

var num=Math.floor(Math.random()*3);

然后以某种方式将该数字与“示例”一词联系起来。

那样,这部分代码

if(isItThere(image)){

可以保持不变,因为isItThere处理随机数组的选择。

希望你能得到我想要的东西。我试图尽可能地描述性。再次总结一下,我希望能够在游戏开始时选择一个阵列,以便可以多次播放游戏。你能写出我需要的代码吗?我有一种感觉很简单。但是我花了几天时间看。

感谢您的帮助:)

2 个答案:

答案 0 :(得分:2)

制作父数组然后引用这个父数组怎么样?

var childArray1 = [1,2,3],
childArray2 = [4,5,6],
childArray3 = [7,8,9],
parentArray = [childArray1, childArray2, childArray3];

你也可以用 parentArray.push(childArray1); 添加它们,哪一个更适合你。

答案 1 :(得分:0)

你应该做一个数组数组,并随机选择:

var myArray = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

var theArray = myArray[Math.random() * 3)];