gpt4 book ai didi

javascript - 在 JS 的循环中返回一个随机数,但从不相同

转载 作者:行者123 更新时间:2023-11-30 12:56:48 25 4
gpt4 key购买 nike

这个问题已经被问过几次了,但从来都不是我真正需要的。我正在尝试做这样的事情:我有固定数量的 span 并且我想给它们中的每一个一个 10px 到 46px 之间的字体大小。 有些可以有相同的值!小数是允许的(但我猜没用,因为浏览器处理“子像素”的方式不同(有人告诉我))。除此之外,我想要 left 和 top 属性的随机值介于 0 和 100 之间,但这些值永远不能相同!

我走到这一步:(从这里借来的),但有时值会重叠。

function randomFromInterval(from,to) {
return Math.floor(Math.random()*(to-from+1)+from);
}

$("#question-mark-wrapper > span:not('.the-one')").each(function() {
$(this).css({
"font-size": randomFromInterval(10,36) + "px", // Can be the same value twice
"left": randomFromInterval(0,100) + "%", // Cannot be the same value twice
"top": randomFromInterval(0,100) + "%", // Cannot be the same value twice
});
});

最佳答案

您需要创建一个数组,其中包含您已经在该函数范围之外的随机函数中使用的值。我会在下面做类似的事情(未经测试)。您会将不希望随机返回的变量传递给 limitsArray。因此,您可能希望在再次调用之前将任何返回的随机变量推送到 limitsArray。

var usedNumbers = new Array();

function randomFromInterval(from, to, limitsArray) {

var randomNumber = Math.floor(Math.random()*(to-from+1)+from);
if ( limitsArray.indexOf(randomNumber) != -1 )
return randomNumber;
else
randomFromInterval(from,to,limitsArray);
}

var randomNumber = randomFromInterval(0,100,usedNumbers);
usedNumbers.push(randomNumber);

关于javascript - 在 JS 的循环中返回一个随机数,但从不相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18804924/

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