2012-04-20 8 views
2

に、私はこのコードを持っている:、ランダムにjqueryの

var str = 'one, two, three'; 
var substr = str.split(', '); 

我々が期待するように、アレイを作成します。しかし、単語を分割し、それらをシャッフルしてsubstr配列に挿入する方法はありますか? ありがとう

+0

それらを配列に分割し、 '[] .sort()'メソッドを使ってそれらをランダムに並べ替えることができます。 –

答えて

8

ネイティブソート()関数は、配列のソート方法を決めるためのパラメータとして関数を取得できます。

ランダムな結果を生成する関数を与えることができます。

var str = 'one, two, three'; 
var substr = str.split(', '); 

substr.sort(function() { 
    return(parseInt(Math.random()*10) %2); 
}); 
1

私はほとんどkeuneと同じ答えを持って、単にいくつかのスタイルの違い:)

var random_results = 'one, two, three'. 
         split(/\s*,\s*/). 
         sort(function(){ 
          return (-1 + Math.floor((Math.random() * 3))) 
         }) 
  • 私は正規表現に分割する '' あなたの明示を変更しました。その特定の部分文字列にのみマッチするつもりなら、それは問題ありませんが、ユーザ入力を扱う場合は、コンマの前後にスペースの存在を処理し、 split機能。
  • keuneと私はともにsort()関数の戻り値を異なって計算します。どちらもランダムな結果をもたらします。負または正の整数値を返す限り、シャッフルされた配列を得ることができます。

また、マイナースタイルノートとして、これはJQueryとは関係ありません。これは純粋なJavaScriptです。

関連する問題