【发布时间】:2014-11-30 01:40:10
【问题描述】:
我对这个code 有疑问 我只是想知道是否有办法在循环结束时不重复数组。
HTML:
<div id="words" class="word"></div>
<button>word</button>
Javascript:
$(function () {
var data = {"seed": [
{
"num1":"title1",
"num2":"title2",
"num3": [ "1","2","3" ]
},
{
"num1":"title3",
"num2":"title4",
"num3": [ "a","b","c" ]
},
{
"num1":"title5",
"num2":"title6",
"num3": [ "d","gh","34" ]
}
]};
var conta = data.seed.length;
var recorre = data.seed;
//alert(conta);
function getNumbers() {
var jokeId = Math.floor((Math.random()*conta));
var joke = $('.word');
var result = data.seed[jokeId].num3;
var categ = data.seed[jokeId].num1;
joke.empty()
for (var c in result) {
var newElement = document.createElement('div');
newElement.id = result[c];
newElement.innerHTML = result[c];
joke.append(newElement);
}
}
$( "button" ).click(function() {
getNumbers();
});
});
【问题讨论】:
-
查找“Fisher-Yates Shuffle”
-
数组在循环结束时不重复是什么意思?
-
@MitchWheat 是正确的,但使用 Fisher-Yates 改组原理的方法不止一种。我在回答中给出了两个选项,并考虑了主动洗牌与懒惰洗牌。
标签: javascript jquery html arrays random