如何确保从数组中随机选择的下一个值与使用 Javascript 的当前值不同? [复制]

Posted

技术标签:

【中文标题】如何确保从数组中随机选择的下一个值与使用 Javascript 的当前值不同? [复制]【英文标题】:How to be sure that the next randomly selected value from an array is not the same as the current one using Javascript? [duplicate] 【发布时间】:2022-01-24 03:33:35 【问题描述】:

我从数组中随机选择值。我想确定下一个选定的值与当前的值不同。如何在 javascript 中实现此规则?

const pages = [1, 2, 3, 4, 5];
const random = Math.floor(Math.random() * pages.length);
console.log(pages[random]);

【问题讨论】:

什么是“当前”?这段代码是如何调用/使用的? 【参考方案1】:

您可以过滤页面删除当前值,然后再选择随机元素。

【讨论】:

【参考方案2】:

如果你选的和之前的一样,就选一个新的:

const pages = [1, 2, 3, 4, 5];
const random = Math.floor(Math.random() * pages.length);
console.log(pages[random]);

let random2;
// Pick a new one:
while (random == ( random2 = Math.floor(Math.random() * pages.length)));

这假定数组中的每个值都不同,因此它只关心两个索引(randomrandom2)是否不同。

【讨论】:

以上是关于如何确保从数组中随机选择的下一个值与使用 Javascript 的当前值不同? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从数组中随机选择?

如何从数组中随机选择四个元素而不用Java重复?

在鼠标输入时从数组中加载下一个图像

如何从给定的一组值中进行选择,四舍五入?

VBA - 如何从一列中随机选择 10% 的行,确保它们不同并将 Y 放在 B 列中?

如何从 Julia 的加权数组中选择一个随机项?