gpt4 book ai didi

javascript - 我能做些什么来防止这个随机化 JS 代码中的重复?

转载 作者:行者123 更新时间:2023-12-01 15:38:13 25 4
gpt4 key购买 nike

目前,我有一些代码可以从数组中选择一个随机对象,并且效果很好。但是,我不希望输出中有任何重复。我想在单击按钮时随机提供一个新的站点链接,并且每次都应该不同(当然,直到我们用完数组中的对象)。我可以添加什么代码来防止任何重复?
这是示例代码:

<script>
var links = [
"page-1",
"page-2",
"page-3",
// ...
"page-108",
]

function openSite() {
var randIdx = Math.random() * links.length;
randIdx = parseInt(randIdx, 10);
var link = 'https://websitename.com/page/' + links[randIdx];
window.location.assign(link);

};
</script>

最佳答案

有不同的方法来解决这个问题。
一种方法是制作数组的“洗牌”副本,然后,不是从原始数组中随机选择一个项目,而是按顺序从洗牌后的数组中选择一个项目。也有不同的算法来洗牌一个数组。你可以在这里找到一些:How to randomize (shuffle) a JavaScript array? .
另一种选择是制作数组的副本,每次选择一个项目时,将其从复制数组中删除,然后使用复制数组长度来查找下一个随机项的索引。

关于javascript - 我能做些什么来防止这个随机化 JS 代码中的重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63486933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com