数组:
['bb','cc','bb','bb','dd','cc']
怎样 取出重复的元素和次数
需要把名称和次数存到另一个数组里
结果:
[['bb','3']['cc','2']['dd','1']]
急!!!!

解决方案 »

  1.   

    <html>
    <body>
     <script>
    var arr=['bb','cc','bb','bb','dd','cc'];
    arr.sort(); //排序成['bb','bb','bb','cc','cc','dd']
    var results=new Array();
    var str=arr[0];
    var count=1;
    for(var i=1;i<arr.length;i++){
        if(str==arr[i]){
            count++;
        }else{
            results.push([str,count]);
            str=arr[i];
            count=1;
        }
        if(i==arr.length-1)results.push([str,count.toString()]);
    }
    alert(results);
    </script>
    </body>
    </html>
      

  2.   

    <script language="javascript">
    var arr=['bb','cc','bb','bb','dd','cc'];
    var results=new Array();
    for (var i=0;i<arr.length;i++){
        var count=0;
        var pushed=false;
        var str=arr[i];
        for (var j=0;j<arr.length;j++){
           if (str==arr[j])  count++;
           }
         for (var h=0;h<results.length;h++){
           if (str==results[h][0]) pushed=true;
           }
       if (!pushed) results.push([str,count.toString()]);     
        }
    alert(results);
    </script>