相关疑难解决方法(0)

使用JavaScript Array.sort()方法进行混洗是否正确?

我用他的JavaScript代码帮助了一个人,我的眼睛被一个看起来像这样的部分抓住了:

function randOrd(){
  return (Math.round(Math.random())-0.5);
}
coords.sort(randOrd);
alert(coords);
Run Code Online (Sandbox Code Playgroud)

我的第一个是:嘿,这不可能奏效!但后来我做了一些实验,发现它确实至少似乎提供了很好的随机结果.

然后我做了一些网络搜索,几乎在顶部发现了一篇文章,这段代码最简单地被复制.看起来像一个相当可敬的网站和作者......

但我的直觉告诉我,这一定是错的.特别是因为ECMA标准没有规定排序算法.我认为不同的排序算法会导致不同的非均匀混洗.一些排序算法甚至可能无限循环...

但你怎么看?

而另一个问题是......现在我将如何衡量这种改组技术的结果是多么随机?

更新:我做了一些测量并将结果发布在下面作为答案之一.

javascript sorting random shuffle

124
推荐指数
6
解决办法
5万
查看次数

javascript - 随机播放HTML列表元素顺序

我有一个清单:

<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如何随机重新排序列表项?

html javascript html-lists

36
推荐指数
2
解决办法
3万
查看次数

任何在多个div元素中随机播放内容的方法

我对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.但这并不能真正随意化.它只是让事情进入循环(可能没问题).

任何建议,将不胜感激.谢谢.

javascript dom dhtml

5
推荐指数
2
解决办法
1万
查看次数

如何使用相同的随机排序对两个数组进行排序

好的,我正在用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)

javascript arrays sorting random jquery

4
推荐指数
1
解决办法
1511
查看次数

随机化无序列表

可能重复:
javascript - 随机HTML列表元素顺序

经过一点点帮助.事情相当简单,但似乎无法找到自己做的事情.

我有一个动态无序列表是从一些后端代码生成的(不在我的控制之下).该列表可以是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 jquery html-lists

1
推荐指数
1
解决办法
6727
查看次数

标签 统计

javascript ×5

html-lists ×2

jquery ×2

random ×2

sorting ×2

arrays ×1

dhtml ×1

dom ×1

html ×1

shuffle ×1