提问者:小点点

javascript中的随机数[重复]


我想用一个随机数生成一个数组,每个数都是不同的。 有人能帮我解决这个问题吗? 谢了。

        var array = [];
        for(var i = 0;i < 5; i++){
            var a = Math.floor(Math.random() * 5);
            array.push(a);
        }
        console.log(array);

共3个答案

匿名用户

null

var array = [];
for (var i = 0; i < 10; i++) {
  var a = Math.floor(Math.random() * 10);
  while (array.indexOf(a) !== -1) {
    a = Math.floor(Math.random() * 10);
  }
  array.push(a);
}
console.log(array);

匿名用户

使用此实现,您将确保不会在var array中添加一个以上的现有数字。

null

var array = [];

function randomNumber(array) {
    var a = Math.floor(Math.random() * 5);
    var found = array.filter(el => el == a);
    if(found.length) return randomNumber(array);
    return a;
}

for(var i = 0; i < 5; i++){
    array.push(randomNumber(array));
}

console.log(array);

匿名用户

Math.Random()返回一个数字一个介于0和; 1.因此,与5相乘,然后进行Math.flood运算,可以得到一个介于0和; 4.因此数组可能包含重复数字

null

var array = [];
for (var i = 0; i < 5; i++) {
  var a = parseInt(Math.random() * i * 100, 10);
  array.push(a);
}
console.log(array);