gpt4 book ai didi

javascript:生成由特定 "margin"分隔的随机数

转载 作者:行者123 更新时间:2023-11-29 16:04:24 25 4
gpt4 key购买 nike

我想在 ab 之间生成 x 随机数。每个 x 随机数都不应该比 y 更接近其他随机数:

如果 y = 100 那么我不应该生成 500 和 555,但是 500 和 601 可以。


更多背景:我想用 d3.js 生成 x 圆圈,它们不会相互接触(所以 y 将是更大的圆圈)。我可以使用类似 this 的东西但我更喜欢不使用 force() 的东西。

最佳答案

最简单的做法是在 Math.random() 上循环,直到您得到不在禁飞区内的答案。缺点是一些不必要的 Math.random 调用,但如果禁飞空间与范围相比较小,则影响不大。

更新:避免结果的历史记录。有趣。

let history = [];
function myRand(range, margin) {
while(true) {
let result = Math.trunc(Math.random() * range);
if (history.every(last => {
return Math.abs(result - last) > margin;
})) {
history.push(result);
return result;
}
}
}

for (let i = 0; i < 5; i++)
console.log(myRand(100, 10));

关于javascript:生成由特定 "margin"分隔的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48131496/

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