我想随机洗牌4个项目的列表但是有种子,这样只要你有相同的种子,你就可以获得相同的项目顺序.
["a", "b", "c", "d"]
Run Code Online (Sandbox Code Playgroud)
我想我可以用Math.random获得种子,我不需要非常精确的东西.我如何根据种子排序?
我想随机生成id表单输入的属性,以防止它们与具有相同id. 如果我在同一页面上有两个登录表单,每个表单都有一个email字段,就会发生这种情况。我想要/需要设置id属性的原因是我可以for在label对应于该输入的上设置属性。问题是这个随机生成的id在服务器端和客户端是不同的,所以next.js会报错。这是一些代码:
function uniqueId() {
let first = (Math.random() * 46656) | 0
let second = (Math.random() * 46656) | 0
first = ('000' + first.toString(36)).slice(-3)
second = ('000' + second.toString(36)).slice(-3)
return first + second
}
const Login = () => {
const [emailId] = useState(uniqueId())
return (
<form>
<label htmlFor={emailId}>Email</label>
<input id={emailId} name='email' type='email' />
</form>
)
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
警告:道具 'htmlFor' 不匹配。服务器:“email-txdmls”客户端:“email-htte8e”
知道如何生成在服务器/客户端上一致的随机 id 吗?或者也许是一种没有随机ID的不同方式?
我已经想了一段时间.是否有一种好的(快速)方法可以在播种时使数字随机变化?是否有一个很好的算法将一个数字转换成一个看似随机的数字.
一个小插图:
specialrand(1) = 8
specialrand(2) = 5
specialrand(3) = 2
specialrand(4) = 5
specialrand(5) = 1
specialrand(1) = 8
specialrand(4) = 5
specialrand(1) = 8
Run Code Online (Sandbox Code Playgroud)
如果输出也可能是巨大的数字,那将是非常好的.
作为一个注释:我不想填充数组并随机化数字,因为我希望能够提供巨大的数字差异,因为每当我重新启动程序时我想要相同的输出
我想在当前选项卡更改时刷新某个选项卡Tampermonkey。
我是Duolingo的用户,但对他们对Crown系统的新更改不满意,并且我不喜欢使用“ Practice”按钮的算法。
因此,我使用网站duome.eu来选择最弱的评论。
就像在此页面上一样:https :
//duome.eu/example/progress
该网站上的信息基于duolingo.com上用户的进度。
我单击duome页面上的链接以打开duolingo网站以查看该技能。
完成一项技能的复习后,我希望duome.eu页面重新加载以重新计算我的进度。
我该如何实现?
我也欢迎其他想法,在此先感谢:)