2017-04-07 14 views
1

私はそれが私は2つの間に改行をしたい各アレイはランダムリターンに、このようなまた複数の配列をjavascriptでシャッフルしようとしますが、同じ方法でシャッフルしますか?

4,2,3,5,1 
7,9,6,8,10 

としてシャッフル返すようにランダムに同じ機能で

var array1 = [1,2,3,4,5]; 
var array2 = [6,7,8,9,10]; 

をこれら二つの配列をシャッフルしたいです、助けてください?

+2

まず第一に、それを見つけるために、スタックオーバーフローの 'シャッフル配列' を検索します。第2に、出力は 'document.body.innerHTML = array1.join( '、')+ '
' + arrat2.join( '、')'のような単純なものです。そこに行く。これらの両方はちょっとグーグルでこのサイトで簡単に見つけられます。 – somethinghere

+0

@somethinghere OPに 'document.body.innerHTML ='をしてはいけません。彼らの投稿には、彼らの全身のHTMLをそのデータで置き換えることを提案した人はいませんでした。 – itamar

+0

@itamarこの投稿の何も実際には示唆されていません_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _私は 'document.body'を使って、少なくとも動作し、これがどれくらい単純かを示すことができます(私はこれを行う唯一の方法ではありません。とにかく、これは私のポイントではありませんでした。これらのことの両方は、このサイトで非常に簡単に見つけることができます。そして、いいえ、私はトローリングしていません。 – somethinghere

答えて

1

シャッフルメソッドをArray.prototypeに追加すると、簡単にアクセスできるようになりました。元のまま変更された配列を返します。

Array.prototype.shuffle = function() { 
 
    var rIndex, temp, 
 
    input = this.slice(0), 
 
    cnt = this.length; 
 

 
    while (cnt) { 
 
    rIndex = Math.floor(Math.random() * cnt); 
 
    temp = input[cnt - 1]; 
 
    input[cnt - 1] = input[rIndex]; 
 
    input[rIndex] = temp; 
 
    cnt--; 
 
    } 
 

 
    return input; 
 
} 
 

 
var array1 = [1, 2, 3, 4, 5]; 
 
var array2 = [6, 7, 8, 9, 10]; 
 

 
document.getElementById('shuffle-btn').onclick = function(){ 
 
    document.getElementById('output').innerHTML = [array1.shuffle(), array2.shuffle()].join('\n'); 
 
}
<button id="shuffle-btn">Shuffle</button> 
 
<pre id="output"></pre>

+0

ありがとう私はこれを行うことができますボタンを介してonclickを使用してこの関数を実行していますか? – AB1412

+0

はい。あなたはできる。もしあなたがいくつかのDOM要素に結果を挿入したいのであれば、 'join 'に' \ n'の代わりに '
'を使用してください。 –

+0

ボタンのHTML onclickでこの関数をどのように呼びますか? – AB1412

関連する問題