gpt4 book ai didi

javascript - 如何将日期转换为列表中的随机索引?

转载 作者:行者123 更新时间:2023-11-30 19:46:15 25 4
gpt4 key购买 nike

我需要从列表中生成随机项目的东西,但该项目每天都是随机的,并且对所有用户都是一致的。这是在一个网站上,因此使用了 JavaScript(尽管实际上我只需要您遵循的算法,不一定代码本身)。

我已将日、月和年存储在变量中,但我如何才能将其转换为介于 0 和列表长度之间的整数?

谢谢!

最佳答案

简单算法:

Pair 3 个整数比 1:

seed = pair(day, pair(month, year))

使用这个整数来播种 random number generator , 以获得所需的随机性

种子 -> [0, 1, 2, ..., array.length - 1]

index = Math.round(randomOf(seed) * (array.length - 1));
element = array[index]

这是上述配对函数的基本 javascript 实现:

function pair(x, y) { return ((x + y) * (x + y + 1)) / 2 + y; }

实现 randomOf(检查上面的“随机数生成器”链接):

randomOf(seed){
Math.seedrandom(seed);
return Math.random();
}

关于javascript - 如何将日期转换为列表中的随机索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916566/

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