所以,我正在尝试从一个数组中选择一个随机条目,然后使得该特定条目不会再次被选择,直到选择了每个条目为止。
基本上,我不想看到任何相同的条目,直到选择了数组中的所有条目。
所以,如果这是我的数组...
我不希望看到以下输出:
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 被第二次选择了。我希望看到更像这样的内容:
meta, advertise, gaming,ppc, welcome, home, games, advertise, ppc,
由于之前并没有多次选择任何条目,因此每个条目都是随机选择的。(如果你没有注意到差异,第二个循环从第二个“advertise”开始)。
但是,正如你可以从我上面发布的代码中看到的那样,我不知道该怎么做。我曾经看到过一些例子,被随机选择的条目实际上已经从数组中删除了,但这不是我想要做的。我只想每个条目都被选中一次,然后重新启动该过程。
有人知道这个代码吗?