首页 > 解决方案 > 即使在页面重新加载后,如何随机生成非重复数字?

问题描述

问题:即使在页面重新加载后,如何生成非重复数字?(例如:0 -> 100,我会得到 10 一次,并且在看到其他数字之前永远不会再得到。)

首选答案:代码块或说明显示如何生成重新加载页面后不会重复的非重复数字。

标签: javascript

解决方案


最简单的方法是将“看到”的数字以对象的形式保存在 cookie 或 localStorage 中,例如:

const seenNumbers = {
  51: true,
  64: true
} 

然后每次加载页面时,都会加载这个数组并尝试生成一个新数字。在使用它之前,你检查它是否在seenNumbers,如果是,你尝试生成一个新的,直到你得到一个以前没有使用过的新号码。之后,将其添加到seenNumberscookie 中并保存。

不要忘记seenNumbers拥有所有数字的逻辑,然后您的代码将尝试永远生成新项目。为避免这种情况,首先检查 中的项目数seenNumbers,如果它等于可能数字的数量,则不生成任何数字。


推荐阅读