我有一个数组矩阵,我想用不同的随机数填充每个数组,我尝试使用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();
任何帮助将不胜感激。
答案 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);