我有一个大小为50的数组,它包含1到49之间的随机整数。
我希望能够计算数组中10到19之间的数字出现的次数。
<script type = "text/javascript">
var arr = [];
function getRandom( num ){
return Math.round(Math.random() * num)+1;
}
var counter = 0;
for (var i = 0; i < 50; i++) {
arr.push(getRandom( 49 ));
counter++;
}
答案 0 :(得分:1)
var count=0;
for (var i=0;i<50;i++{
if(arr[i]<19 && arr[i]>10){
count++;
}
}
如果您想要计算10和19,则表示10和19不计算,然后将限制更改为20和9
答案 1 :(得分:0)
尝试使用Arry.filter
方法:
var nBetween10and19 = [yourArraY]
.filter(function(b){return b>10 && b<19;}).length;
See MDN有关Array.filter
的信息和旧浏览器的垫片
答案 2 :(得分:0)
创建函数总是一个好主意,因为稍后可以使用不同的参数重用它。
我编写了一个接受最小值和最大值的函数,并计算满足限制的出现次数。
如果您不想指定它们,可以为min或max传递null。
function countRange(list, min, max) {
var c = 0;
for (var i = 0, l = list.length, item; i < l; i++) {
item = list[i];
if ((min == null || item >= min) && (max == null || item <= max)) {
c++;
}
}
return c;
}
countRange(arr, 10, 19); // count x >= 10 and x <= 19
countRange(arr, 10, null); // count x >= 10
countRange(arr, null, 30); // count x <= 30