【问题标题】:Javascript arrays and random numbersJavascript数组和随机数
【发布时间】:2014-09-17 14:01:01
【问题描述】:

我正在尝试创建一个循环,用于加载到三个不同的无序列表中的三组随机数字。

每个列表应该有三个唯一的随机数。我很接近,但是我的代码正在加载相同的数字,并且我尝试执行 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);
    };
});

jsFiddle

【问题讨论】:

  • Math.random 不接受任何参数? 3,7 应该做什么?
  • 是的,您只有一个arr,并将同一个数组加载到所有列表中。你还期待什么?
  • 我认为 3,7 会选择 3 到 7 之间的数字。我也在考虑 arr i++ 但不知道如何定义。

标签: javascript jquery arrays random


【解决方案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);
});

在这里提琴:http://jsfiddle.net/qpnf7pog/2/

【讨论】:

    【解决方案2】:

    你可以试试这个:

    $( 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 范围内。 希望对您有所帮助。

    【讨论】:

      【解决方案3】:

      我认为你想要做的是使用var randomnumber=Math.floor(Math.random()*11)。这是文档:http://www.javascriptkit.com/javatutors/randomnum.shtml 和 Math.floor():http://www.w3schools.com/jsref/jsref_floor.asp 这将允许指定最大随机数,仅与 * 后面的值一样高。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-23
        • 1970-01-01
        • 2015-01-24
        • 1970-01-01
        • 1970-01-01
        • 2011-01-27
        相关资源
        最近更新 更多