var s='A:3个,A:11个,B:1个,B:2个,C:2个,D:2个,D:3个,E:7个'
数组a=s.split(',');
如何比较列出如下结果:(比较后选大的,小的过滤掉)
A:11个
B:2个
C:2个
D:3个
E:7个

解决方案 »

  1.   

    var s='A:3个,A:11个,B:1个,B:2个,C:2个,D:2个,D:3个,E:7个';
    var a = s.split(",");
    var obj = {};
    for(var i=0;i<a.length;i++){
      var arr = a[i].split(":");
      if(obj[arr[0]]){
         if(parseInt(obj[arr[0]]) < parseInt(arr[1])){
           obj[arr[0]] = arr[1];
         }
      }else {
        obj[arr[0]] = arr[1];
      }
    }
    for(o in obj) alert(o + ":" + obj[o]);
    你这个字符串里的:有中文的也有英文的,还有,也是