我用他的JavaScript代码帮助了一个人,我的眼睛被一个看起来像这样的部分抓住了:
function randOrd(){
return (Math.round(Math.random())-0.5);
}
coords.sort(randOrd);
alert(coords);
Run Code Online (Sandbox Code Playgroud)
我的第一个是:嘿,这不可能奏效!但后来我做了一些实验,发现它确实至少似乎提供了很好的随机结果.
然后我做了一些网络搜索,几乎在顶部发现了一篇文章,这段代码最简单地被复制.看起来像一个相当可敬的网站和作者......
但我的直觉告诉我,这一定是错的.特别是因为ECMA标准没有规定排序算法.我认为不同的排序算法会导致不同的非均匀混洗.一些排序算法甚至可能无限循环...
但你怎么看?
而另一个问题是......现在我将如何衡量这种改组技术的结果是多么随机?
更新:我做了一些测量并将结果发布在下面作为答案之一.
我有一个清单:
<ul>
<li>milk</li>
<li>butter</li>
<li>eggs</li>
<li>orange juice</li>
<li>bananas</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
使用javascript如何随机重新排序列表项?
我对Javascript比较陌生,并且想知道是否有一种快速方法可以随机播放多个<div>标签中包含的内容.例如
<div id='d1'>
<span>alpha</span>
<img src='alpha.jpg'>
</div>
<div id='d2'>
<span>beta</span>
<img src='beta.jpg'>
</div>
<div id='d3'>
<span>gamma</span>
<img src='gamma.jpg'>
</div>
<button onclick='shuffle_content();'>Shuffle</button>
Run Code Online (Sandbox Code Playgroud)
点击按钮后,我希望d1,d2,d3中的内容改变位置(例如,d3可能是第一个,然后是d1,然后是d2).
一种快速移动方法是复制第一个div元素(d1),然后将它放在最后(d3之后),然后删除原始d1.但这并不能真正随意化.它只是让事情进入循环(可能没问题).
任何建议,将不胜感激.谢谢.
好的,我正在用jQuery/javascript构建一个测验应用程序.
以下小功能旨在随机化一系列问题的可能答案,以及一系列照片.每张照片对应一个答案.
在我调用此功能之前,照片和答案在每个相应的包装集中的顺序相同.
该函数确实随机化了两组.但是每个人都是随机分开的.我需要他们两个进行SAME随机化.
我无法弄清楚如何实现这一目标.我认为可能能够将它们链接到jQuery样式,但那是不对的.我也尝试在sort()中分离出函数,但这也没有做到.
有人可以帮忙吗?
function randomize() {
var elemsPhotos = $('.photos').children('img').get();
var elemsQuests = $('.answers').children('.answerLine').get();
elemsPhotos.sort(function() { return (Math.round(Math.random())-0.5); });
elemsQuests.sort(function() { return (Math.round(Math.random())-0.5); });
$('.photos').remove('img');
$('.answers').remove('.answerLine');
for (var i=0; i < elemsQuests.length; i++) {
$('.photos').append(elemsPhotos[i]);
$('.answers').append(elemsQuests[i]);
}
}
Run Code Online (Sandbox Code Playgroud) 经过一点点帮助.事情相当简单,但似乎无法找到自己做的事情.
我有一个动态无序列表是从一些后端代码生成的(不在我的控制之下).该列表可以是9个标签到100多个标签之间的任何内容.它们按照后端代码定义的顺序返回.使用jQuery/javascript我希望能够随机化li标签的顺序而不重复它们.
我的列表目前看起来像这样:
<ul id="myList">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
<li>Item 8</li>
<li>Item 9</li>
</ul>
Run Code Online (Sandbox Code Playgroud) javascript ×5
html-lists ×2
jquery ×2
random ×2
sorting ×2
arrays ×1
dhtml ×1
dom ×1
html ×1
shuffle ×1