Javascript 随机数不是完全随机的

Javascript 随机数不是完全随机的,javascript,jquery,random,Javascript,Jquery,Random,此函数从文本文件quotes.txt中选择一个随机引号。每个引号由@分隔,并显示在quotes div中,例如每个页面加载时此处显示的引号 但为什么它有时会跳过一段引语,而在文章中什么也不显示呢 从我的阅读来看,随机发生器似乎不是很随机,这是不是有问题?是否有一种方法可以使其仅从一组引号中随机选择,即50?是否有更好的方法(可能是php)来生成1到50之间的随机数 quotes.txt如下所示: Lorem ipsum dolor sit amet, consectetur adipiscing

此函数从文本文件quotes.txt中选择一个随机引号。每个引号由@分隔,并显示在quotes div中,例如每个页面加载时此处显示的引号

但为什么它有时会跳过一段引语,而在文章中什么也不显示呢

从我的阅读来看,随机发生器似乎不是很随机,这是不是有问题?是否有一种方法可以使其仅从一组引号中随机选择,即50?是否有更好的方法(可能是php)来生成1到50之间的随机数

quotes.txt如下所示:

Lorem ipsum dolor sit amet, consectetur adipiscing elit@ 
Fusce tincidunt, ante ut scelerisque@ 
Mauris lacinia, magna sed auctor pellentesque, diam nisl rutrum ligula@ 
Etiam tempor elementum augue, vitae cursus eros laoreet@ 
Donec imperdiet ullamcorper pharetra@ 
编辑2011年4月27日我最终使用了一个不同的函数,它没有显示空行的问题。quotes.html的结构如下:

<div class="quote">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur.</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur.</div>

在@上拆分文件后,引号中的最后一项可能是空字符串,因为在文件末尾的换行之前有一个@


至于随机数生成器的感知随机性,这里可能没有问题。众所周知,人类不善于检测序列是否随机。

在@上拆分文件后,引号中的最后一项可能是空字符串,因为文件末尾的换行符前面有一个@


至于随机数生成器的感知随机性,这里可能没有问题。众所周知,人类不善于检测序列是否随机。

我认为应该删除quotes.txt末尾的at符号@,因为它会在quotes数组变量中创建一个空字符串。

我认为应该删除quotes.txt末尾的at符号@,因为它将在quotes数组变量中创建一个空字符串。

这不是一个jQuery函数,而是一个通用JavaScript函数。至少是创建随机数的代码。你是对的,虽然它不是很随机的。我遇到了这个问题,并在这方面找到了帮助。

这不是一个jQuery函数,而是一个通用的JavaScript函数。至少是创建随机数的代码。你是对的,虽然它不是很随机的。我遇到了这个问题,并找到了对我有帮助的帮助。

我认为您可能会得到空白的原因是您的数组有一个尾随空白。如果文件以@结尾,并且您在@上拆分,则最后一项将是一个空白字符串。

我认为您可能会得到空白的原因是数组后面有一个空白。如果文件以@结尾,并且您在@上拆分,则最后一项将是空字符串。

您可以从数组中删除空项

 var quotes = data.split("\@").filter(function(itm){return !!itm});

可以从数组中删除空项

 var quotes = data.split("\@").filter(function(itm){return !!itm});

我最终使用了一个不同的函数,它在显示空行时没有问题。quotes.html的结构如下:

<div class="quote">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur.</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur.</div>

我最终使用了一个不同的函数,它在显示空行时没有问题。quotes.html的结构如下:

<div class="quote">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur.</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur adipiscing elit</div>
<div class="quote">Lorem ipsum dolor sit amet, consectetur.</div>

检查调试器中引号数组的内容。检查调试器中引号数组的内容。Yep。可能就是这样!好皮克韦尔,我是唯一的人类:我删除了尾随空格-我的错误-和最后一个@,但没有运气。在17页、6页和24页的加载之后,我再次得到了空行。如何修复分隔符以避免出现空行?您可以使用\n换行符作为分隔符,因为您的文本文件已被拆分为每行一个引号。但是,文本文件通常以final结尾,\n并且.split方法将在结尾处为您提供一个额外的空条目。您可以做的是筛选.split的结果以删除任何空条目,然后再选择要显示的条目。谢谢,但我发现了另一个不会出现空行的函数。在上面编辑。是的。可能就是这样!好皮克韦尔,我是唯一的人类:我删除了尾随空格-我的错误-和最后一个@,但没有运气。在17页、6页和24页的加载之后,我再次得到了空行。如何修复分隔符以避免出现空行?您可以使用\n换行符作为分隔符,因为您的文本文件已被拆分为每行一个引号。但是,文本文件通常以final结尾,\n并且.split方法将在结尾处为您提供一个额外的空条目。您可以做的是筛选.split的结果以删除任何空条目,然后再选择要显示的条目。谢谢,但我发现了另一个不会出现空行的函数。以上编辑。