使用JS对字符串进行去重

今天项目里面有一个点的需求是要做字符串去重外加查询出现次数最多的字符,
个人比较懒,就想去网上看看大神们都是怎么写的比较完美的(就是懒),但是找了几个之后发现,
好像不约而同的都少了一个我比较关注的点,就是当出现两个字符出现的次数是一样多并且最多的时候只是由于方法的不用显示前一个或者后一个,想了一下,大神们肯定是不屑的写,或者没有关注这个点吧,脸皮厚补充一下

var str = "qqqqwwweeeeasdfavcfghyk";
    function test(str){
      var newStr = "";
      var obj = {};
      for(var i=0; i<str.length; i++){
        if(newStr.indexOf(str[i]) == -1){
          newStr += str[i];
        }
        if(obj[str[i]]){
          obj[str[i]] += 1;
        }else{
          obj[str[i]] = 1;
        }
      }
      var strMax = "";
      var numMax = 0;
      var strs = "";
      for(var j in obj){
        if(numMax <= obj[j]){
          numMax = obj[j];
          strMax = j;
          if(numMax == obj[j]){
            strs += strMax;
          }
        }
      }
      return "去重后字符串:" + newStr+ "出现次数最多字符:" +strs+ "出现次数为:" +numMax;
    }
    console.log(test(str));
阅读更多
文章标签: 去重-查找字符
个人分类: js
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭