【发布时间】:2019-08-15 20:26:50
【问题描述】:
我编写了这段代码来检查随机函数的“随机”程度。
Array.prototype.random = function() {
var index = Math.floor(this.length*Math.random());
return this[index];
}
var arr = new Array('a', 'b', 'c', 'd', 'e');
var count = [0, 0, 0, 0, 0]; //I want to ask about this part
for (var i = 0; i < 10000; i++) {
var val = arr.random();
console.log(val);
switch (val) {
case 'a':
count[0]++;
break;
case 'b':
count[1]++;
break;
case 'c':
count[2]++;
break;
case 'd':
count[3]++;
break;
case 'e':
count[4]++;
break;
}
}
for (var i = 0; i < count.length; i++) console.log(count[i]);
在这个过程中,我想不出更好的方法来初始化“count”数组。使用这种方式,它会变得非常重复。如果我的 'arr' 有 1000 个元素,我将不得不放入千个 0。有人可以为我建议更好的方法吗?
如果我不将 'count' 数组的每个元素初始化为 0,我会得到 NaN。
【问题讨论】:
-
.fill()方法? -
谢谢!我试过了!我只需要以不同的方式声明“计数”数组。 var count = new Array(arr.length); count.fill(0, 0);但它有效!
标签: javascript