1

私は 3 つの変数を含む配列を持っています。同じ要素を 2 回選択せずにランダムに 2 つを選択したいのですが、AS3 で作業していることを除いて同じことをしようとしている人からの質問を見つけましたが、彼らの問題はまったく異なっていました:繰り返しなしで配列からランダムな要素を選択しますか?

これが私の試みです:

var ar:Array=[k,l,m];
var raar:* = ar[Math.floor(ar.length * Math.random())];

私はまだ AS2 に不慣れで、特定のデータ型を利用する方法がわかりません。これを機能させるにはどうすればよいですか?

4

1 に答える 1

1

配列の要素を 2 回選択する代わりに、次のように、使用されない (選択された) 要素となるランダム インデックスを 1 回生成するだけです。

var a:Array = [10, 20, 30];
var n:Number = Math.floor(a.length * Math.random());

a.splice(n, 1);     // remove the element with the index n
trace(a);           // for n = 1, gives : 10, 30

それが役立つことを願っています。

于 2015-07-04T11:12:55.347 に答える