我有来自的字符串for
循环,我想知道如何才能使用它们,所以它会运行时间并在 JavaScript 中每次以不同的随机顺序显示它们(不复制它们)?alerts
array
alert
randomly
gamesNames.length
for (var i = 0; i < gamesNames.length; i++) {
alert (gamesNames[i].Name + gamesNames[i].year );
}
我有来自的字符串for
循环,我想知道如何才能使用它们,所以它会运行时间并在 JavaScript 中每次以不同的随机顺序显示它们(不复制它们)?alerts
array
alert
randomly
gamesNames.length
for (var i = 0; i < gamesNames.length; i++) {
alert (gamesNames[i].Name + gamesNames[i].year );
}
使用包含索引和随机数的项目创建一个数组。通过对随机数进行排序来打乱它们,并使用索引来提醒项目:
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);
}
这是一个链接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 );
}
...
我希望这有帮助。
您可以将 awhile-loop
与array.splice结合使用:
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);
}