需要在Javascript数组中查找和计算给定变量

需要在Javascript数组中查找和计算给定变量,javascript,Javascript,您好,如果有人能为我遇到的以下问题提供解决方案,我将不胜感激: 我需要找出数组中是否存在给定的变量 var arr = new Array(4, 1, 4, 1, 4) var number = 4; var number_two = 1; 是否有方法计算“arr”中存在多少次“var number”,以及数组中该数值的索引是什么 谢谢,对于计数器,请使用以下解决方案。为了将结果转换为索引,您可以阅读更多关于JavaScript数组的内容(例如) 功能计数器(arr,什么){ var

您好,如果有人能为我遇到的以下问题提供解决方案,我将不胜感激:
我需要找出数组中是否存在给定的变量

var arr = new Array(4, 1, 4, 1, 4)  
var number = 4;  
var number_two = 1;
是否有方法计算“arr”中存在多少次“var number”,以及数组中该数值的索引是什么

谢谢,

对于计数器,请使用以下解决方案。为了将结果转换为索引,您可以阅读更多关于JavaScript数组的内容(例如)

功能计数器(arr,什么){
var how_many=0;
对于(变量i=0;i
为了解决另一个问题,我将自己回答:

function counter(arr, what) {
    var indexes = [];
    for (var i = 0; i < arr.length; i++) {
        if (arr[i] === what)
            indexes.push(i);
    }
    alert(indexes.length); // how many
    alert(indexes);        // indexes
}

counter([4, 1, 4, 1, 4], 4);
功能计数器(arr,什么){
var指数=[];
对于(变量i=0;i

它应该可以解决您的问题

var myArray = [ 10, 10, 20, 20, 30, 30, 40, 40, 40, 40, 50, 50, 50, 50, 60 ] ;

function Counter( myArray ) {
   var myBlocks = new Object ;

   for( var i = 0; i < myArray.length; i++ ) {
      var aBlock = myArray[i] ;
      if(myBlocks.hasOwnProperty(aBlock)) {
         myBlocks[aBlock]++ ;
      } else {
         myBlocks[aBlock] = 1 ;
      }
   }

   var str = "";
   for(var j in myBlocks ) {
      str += "\t Element " + j+ " : apears "+ myBlocks[j] + " time(s)\n" ;
   }
   alert( str ) ;
}

Counter(myArray);
var myArray=[10,10,20,20,30,30,40,40,40,50,50,50,60];
函数计数器(myArray){
var myBlocks=新对象;
对于(var i=0;i

是的。迭代,比较每个元素,增加计数器。这么简单的任务有这么多代码…@gdoron我们做了不同的实现。您已经创建了一个函数来查找数组中的特定元素计数。我制作了一个函数来查找数组中所有元素的计数,并添加了显示结果的功能。@EugeneTrofimenko按照您的逻辑,我可以命名+100个有用的代码修改:)伙计们,谢谢大家,我解决了我的问题。抱歉,如果我是JavaScript初学者,我甚至无法想象我的枯燥问题会引发超级大脑之间的这种竞争:D@VisioN这对新成立的公司来说是个好主意:)
var myArray = [ 10, 10, 20, 20, 30, 30, 40, 40, 40, 40, 50, 50, 50, 50, 60 ] ;

function Counter( myArray ) {
   var myBlocks = new Object ;

   for( var i = 0; i < myArray.length; i++ ) {
      var aBlock = myArray[i] ;
      if(myBlocks.hasOwnProperty(aBlock)) {
         myBlocks[aBlock]++ ;
      } else {
         myBlocks[aBlock] = 1 ;
      }
   }

   var str = "";
   for(var j in myBlocks ) {
      str += "\t Element " + j+ " : apears "+ myBlocks[j] + " time(s)\n" ;
   }
   alert( str ) ;
}

Counter(myArray);