javascriptphpphpjs

array_count_values for JavaScript instead


I have the following PHP-script, now I need to do the same thing in JavaScript. Is there a function in JavaScript that works similar to the PHP function, I have been searching for days but cannot find anything similar? What I want to do is to count the number of times a certain word is being used in an array.

$interfaceA = array($interfaceA_1,$interfaceA_2,$interfaceA_3,$interfaceA_4,$interfaceA_5,$interfaceA_6,$interfaceA_7,$interfaceA_8);       

$interfaceA_array=array_count_values($interfaceA);
$knappsatsA = $interfaceA_array[gui_knappsats];
$touchpanelA = $interfaceA_array[gui_touchpanel];

Solution

  • Why not simply create a new javascript array "counts" Iterate over original array, and increament the count of "counts" for keys encountered in the array. http://jsfiddle.net/4t28P/1/

    var myCurrentArray = new Array("apple","banana","apple","orange","banana","apple");
    
    var counts = {};
    
    for(var i=0;i< myCurrentArray.length;i++)
    {
      var key = myCurrentArray[i];
      counts[key] = (counts[key])? counts[key] + 1 : 1 ;
    
    }
    
    alert(counts['apple']);
    alert(counts['banana']);