【问题标题】:How to choose pseudo-random values in an array javascript [duplicate]如何在数组javascript中选择伪随机值[重复]
【发布时间】:2015-05-31 08:24:57
【问题描述】:

我知道如何对这样的数组进行排序

 var rand = myArray[Math.floor(Math.random() * myArray.length)];

但我想做的是在循环中使用它来从我的数组中选择我以前没有用这个函数选择的值。

换句话说,假设我的数组包含苹果、香蕉和橙子。我希望能够随机选择所有这三个,但我不想选择能够多次选择同一个。(我希望这是有道理的)

【问题讨论】:

  • 所以如果你不想在数组中找到一个项目,那么你在找什么?我很困惑
  • ya 重读此内容后,我将进行编辑。一秒钟。

标签: javascript


【解决方案1】:

您可以从数组中删除该项目,这样它就不会被再次选中

var rand = myArray.length ? myArray.splice(Math.floor(Math.random() * myArray.length), 1)[0] : undefined;

演示:Fiddle

注意:它会修改原始数组,所以如果你想保留原始数组,你需要保留一个不同的副本

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2014-07-05
  • 2011-08-08
  • 2021-05-08
  • 1970-01-01
  • 2018-01-13
  • 2021-06-27
  • 2019-01-28
  • 1970-01-01
相关资源
最近更新 更多