我试图为三个随机数字组创建一个循环,这些数字加载到三个不同的无序列表中。
每个列表应该有三个唯一的随机数。我关闭了,但是我的代码加载了相同的数字,我试图做一个for循环,但它似乎加载了相同的数组,我想要三个随机的唯一数组。
$(document).ready(function () {
var arr = [];
for (var i = 0, l = 4; i < l; i++) {
rand = Math.random(3, 7).toFixed(2);
arr.push('<li>' + 10 + rand * 1 + '</li>')
$("." + i).append(arr);
};
});
答案 0 :(得分:1)
@Bergi是对的。如果你想要一个3到7之间的数字,实现它的一种方法是3 + 4 * Math.random()
,因为Math.random()
将返回0到1之间的数字(不包括1)。
另外,如果你想为每个ul创建一个唯一的列表,你可以迭代每个ul并为它创建一个列表,如下所示:
var $lists = $(".1,.2,.3");
$lists.each(function(index, list) {
var arr = [];
for (var i = 0, l = 4; i < l; i++) {
rand = (3+4*Math.random()).toFixed(2);
arr.push('<li>'+10+ rand * 1+'</li>')
}
$(list).append(arr);
});
答案 1 :(得分:1)
你可以试试这个:
$( document ).ready(function() {
var arr = [];
for (var i = 0, l = 1; l < 4; i++) {
if (i > 0 && i % 3 == 0)
{
$(".list"+l).append(arr);
arr = [];
l++;
}
rand = Math.floor(Math.random()*(7-3+1)+3); // random number between 3 and 7
arr.push('<li>'+ rand +'</li>');
};
});
http://jsfiddle.net/qpnf7pog/3/
假设这些随机数应在3-7范围内。 希望它有所帮助。
答案 2 :(得分:0)
我认为你想要做的是使用var randomnumber=Math.floor(Math.random()*11)
。以下是文档:http://www.javascriptkit.com/javatutors/randomnum.shtml和Math.floor():http://www.w3schools.com/jsref/jsref_floor.asp这将允许指定最大随机数,仅与*之后的内容一样高。