如何用不同的随机数填充矩阵数组

时间:2019-05-05 10:20:10

标签: javascript

我有一个数组矩阵,我想用不同的随机数填充每个数组,我尝试使用fill()方法,但是它为每个数组只设置一个数字,而我想设置所有不同的数字。这是我的pen上的链接以及我遇到的代码:

let matrix = [];

function matrixItem() {
    let a = +prompt("How many arrays should matrix include?");
    let reg = /^\d+$/;
    if (reg.test(a) && (typeof (a)) != null && a != '' && a <= 10) {
      for (let i = 0; i < a; i++) {
        matrix.push((Array(Math.floor(Math.random() * 5) + 1)
        /* problem is here */.fill(Math.round(Math.random() * 100))));
      }
      let sum = matrix.map(function (x) {
        return x.reduce(function (a, b) {
          return a + b;
        });
      });
      console.log(sum);
    } else matrixItem();
  }
matrixItem();

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

Array#fill取一个常数,并用该值填充数组。

要获取具有随机值的动态数组,可以使用Array.from并映射随机值。

var array = Array.from(
        { length: Math.floor(Math.random() * 5) + 1 },
        () => Math.round(Math.random() * 100)
    );

console.log(array);