我知道如何对这样的数组进行排序
var rand = myArray[Math.floor(Math.random() * myArray.length)];但是,我想要做的是在循环中使用它从数组中选择以前没有用这个函数选择的值。
换句话说,假设我的数组包含苹果、香蕉和橘子。我想要能够随机挑选出所有的三个,但我不想挑选出一个又一个。(我希望这是有意义的)
发布于 2015-03-27 04:40:16
可以从数组中移除该项,因此不会再次选中该项。
var rand = myArray.length ? myArray.splice(Math.floor(Math.random() * myArray.length), 1)[0] : undefined;演示:小提琴
注意:它将修改原始数组,因此如果您想保持原来的数组,则需要保留一个不同的副本。
https://stackoverflow.com/questions/29293390
复制相似问题