计算数组javascript中出现数字的次数

时间:2013-09-01 15:12:13

标签: javascript arrays

我有一个大小为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++;
   }

3 个答案:

答案 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