2013-03-06 29 views
0

我有一个对象数组,我试图随机化,我想知道如何找到数组中使用Debug.log的随机位置的数据?这主要是我知道它是否正常工作。如何在随机位置查找数组的值?

我的代码:

while(Deck.length != suffledDeck.length) 
    {  
     var ranNum = Random.Range(1,Deck.length); 

     suffledDeck.Add(Deck[ranNum]); 

     Debug.Log(suffledDeck[ranNum]); 

     //Debug.Log(suffledDeck[ranNum]); 
    } 
+0

你意识到你并不是真的在洗牌,对吧?请参阅http://stackoverflow.com/questions/2450954/how-to-randomize-a-javascript-array寻找一个好的解决方案 – Floris 2013-03-06 23:01:17

+0

在这里查看我的答案,了解另一个洗牌解决方案,http://stackoverflow.com/questions/15192614/ javascript-how-to-stop-a-random-number-from-showing-twice/15192668#15192668 – elclanrs 2013-03-06 23:14:59

+0

我只需要随机化它,以及如何即时通讯就可以工作我只需要知道如何使用Debug.Log ()与数组。 – 2013-03-06 23:22:39

回答

0

您可以洗牌阵列与此fonction:

//@ http://jsfromhell.com/array/shuffle [v1.0] 
function shuffle(o){ //v1.0 
    for(var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x); 
    return o; 
}; 
deck = shuffle(deck); 

之后,你可以正常进入您的阵列。

+0

我无法使用统一 – 2013-03-06 23:30:55

+0

什么是suffledDeck的类型。如果它是一个数组,你可以使用push函数,这个函数返回数组中的位置。 'var position = suffledDeck.push(Deck [ranNum]); Debug.Log(suffledDeck [position]);' – 2013-03-06 23:37:05

+0

我想到了,我正在查找随机数的位置,而不是当前位置。 – 2013-03-06 23:55:06