【发布时间】:2011-08-20 17:16:02
【问题描述】:
所以,我试图从一个数组中随机选择一个条目,然后让它在每个条目都被选中之前不会再次被选中。 基本上,在选择数组中的所有条目之前,我不想看到任何相同的条目。
如果这是我的数组……
keywords =
[
"ppc",
"games",
"advertise",
"meta",
"home",
"gaming",
"welcome"
]
var keyword = keywords[Math.floor(Math.random()*keywords.length)]
document.write(keyword);
我不想看到以下输出:
meta, advertise, home, meta, gaming, welcome, ppc, welcome
因为在选择所有内容之前第二次选择了元数据。 我希望看到更多类似的东西:
meta, advertise, gaming,ppc, welcome, home, games, advertise, ppc,
因为在随机选择每个条目之前,它没有多次选择任何条目。(第二个循环从第二个“广告”开始,以防您没有发现差异。
但正如您从我上面发布的代码中看到的那样,我不知道该怎么做。我已经看到了随机选择的条目实际上完全从数组中删除的示例,但这不是我想要做的。我只想选择每个条目一次,然后重新启动该过程。
有人知道这个代码吗?
【问题讨论】:
-
array of random numbers 的可能重复项
标签: javascript arrays random