gpt4 book ai didi

Javascript Math.random() 返回非常相似的值

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

所以我有 position: absolute 元素,然后我使用 Math.random() 设置它们的 left:#random 和 top:#random 位置。

然而,一件非常奇怪的事情正在发生。它应该是完全随机的,因此它们应该完全随机放置。然而一次又一次,它们非常紧密地放在一起。而不是分散开来。

enter image description here

但是你可以清楚地看到,它们的位置确实是随机的: enter image description here

这是我用来生成它们的代码:

const Clouds = function(props) {
const clouds = []
for (let i = 0; i < props.cloudNum; i++) {
const style = {
position: 'absolute',
height: 50 * props.cloudSize + 'px',
top: Math.random() * 100 + '%',
left: Math.random() * 100 + '%',
}
clouds.push(<Cloud key={i} style={style} />)
}
return <div className={props.side}>{clouds}</div>
}

Math.random 是否有时间成分,并且因为它们是按顺序生成的,所以它们的随机数是相似的?

最佳答案

事实上,尽管它们看起来很相似但实际上并不相似(请记住您乘以 100),这意味着您的随机数空间从 0 到 100(因为图中的小数几乎没有值(value),因为是你问的情况)。

请记住,如果您的空间是 100 朵云,只生成 13 朵云,则根据生日问题,两朵云占据相同位置的概率超过 50%。

https://en.wikipedia.org/wiki/Birthday_problem

关于Javascript Math.random() 返回非常相似的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55899731/

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