我编写了这段代码,以检查随机函数的“随机性”。
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。
答案 0 :(得分:0)
如果只需要遍历传递给函数的参数,则可以使用arguments关键字对其进行访问。
答案 1 :(得分:0)
我不确定这是否是您要的内容,但是如果您想用1000个相同的条目初始化一个数组,您要做的就是:
var count = new Array(1000).fill(0)
答案 2 :(得分:0)
您可以执行以下操作
var temp = new Array(1000);
var count = temp.fill(0);
答案 3 :(得分:0)
您可以使用Array#fill()
方法。例如,要创建大小为12的数组,并完全用10
填充,可以使用以下代码:
const array = new Array(12).fill(10)
console.log(array)
Here有关此方法的更多文档。