0

からその文字列をforループしていますが、どうすればそれらを実行できるのでしょうか?JavaScriptで(複製せずに)毎回異なるランダムな順序で実行して表示しますか?alertsarrayalertrandomlygamesNames.length

  for (var i = 0; i < gamesNames.length; i++) {
            alert (gamesNames[i].Name + gamesNames[i].year );
        }
4

3 に答える 3

1

ここにリンクhttp://www.javascriptkit.com/javatutors/arraysort.shtmlが Javascript の主なアイデアです。

ここにコードがあります

...
gamesNames.sort(function() {return 0.5 - Math.random()}) ;
for (var i = 0; i < gamesNames.length; i++) {
      alert (gamesNames[i].Name + gamesNames[i].year );
}
...

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

于 2013-01-24T08:51:47.923 に答える
1

array.splicewhile-loopと組み合わせて、これを簡単に使用できます。

var array = ["1", "2", "3", "4"];
while(array.length > 0)
{
    // Get a random index
    var index = Math.floor(Math.random() * array.length);
    // Append it to the DOM (or do whatever you want with it)
    $("body").append($("<p />").html(array[index]));
    // Remove it from the array
    array.splice(index, 1);
}

JSFiddle

于 2013-01-24T08:58:03.810 に答える
1

インデックスと乱数を含む項目で配列を作成します。乱数で並べ替えてシャッフルし、インデックスを使用してアイテムを警告します。

var idx = [];
for (var i = 0; i < gamesNames.length; i++) {
  idx.push({ idx: i, rnd: Math.floor(Math.random() * 100000) });
}
idx.sort(function(x,y){ return x.rnd - y.rnd; });
for (var i = 0; i < idx.length; i++) {
  var j = idx[i].idx;
  alert (gamesNames[j].Name + gamesNames[j].year);
}
于 2013-01-24T08:50:53.473 に答える