この方法は私がこれまでに見た中で最も効率的です。
var arr=[]; for(var i=0;iarr[i]=i;
}
arr.sort(function(){ return 0.5 - Math.random() })
var str=arr.join();
alert(str);
コードの説明:
var arr=[];// これは新しい配列を作成します。おすすめの方法。 //var arr=new Array() の使用は推奨されません
この文については説明する必要はありません。
for(var i=0;iここが重要なポイントです
コード
arr.sort(function(){ return 0.5 - Math.random() })
//sort は配列を並べ替えることです
//これがその仕組みです。毎回、演算のために配列から 2 つの数値が選択されます。
//渡されたパラメータが 0 の場合、2 つの数値の位置は変更されません。
//パラメータが 0 より小さい場合、位置を交換します
//パラメータが 0 より大きい場合、位置を交換しません
//次に、今大きい方の数値を使用して比較します次のもの。このように並べ替えます。
/*ちょうどいいです。これを利用して 0.5 - Math.random を使用します。この演算の結果は 0 より大きいか 0 より小さいかのいずれかになります。このようにして、位置が交換されるか交換されません。もちろん、0 より大きいか小さいかはランダムに表示されます。したがって、配列はすぐにソートされます。 */
最後の 2 つの文が出力されます。ふふ。