字符串按重复次数及大小排序

面试遇到一个问题,输入一个字符串将字符串按重复次数多到少,数字顺序小到大进行排序

sortStringByCount(argc){
        if (typeof(argc) !== "string" || argc.constructor !== String) {
//constructor 属性返回所有 JavaScript 变量的构造函数
      return argc;
        }else{
          
      var dealtArgc = argc.split('').sort().join('');
//将字符串分割输出数组,然后对数组排序,再转换成字符串
      //  /(.)\1 这个匹配任意连续的字符,并把第一个获取出来存放到集合里
      var newStr = dealtArgc.match(/(.)\1{0,}/g).sort(function(a,b){
//match输出的是数组形式,然后用sort排序,最后用join转成字符串
          return b.length - a.length
      }).join('');
      return newStr;
        }
    }
sortStringByCount('2szz多大365.4ff大26.59.8小7ss1.23e64f825')
=> //....2222555666fffsss334488zz大大179e多撒

虽然不知道哪里会用到,先列出来吧

猜你喜欢

转载自blog.csdn.net/qq_37818095/article/details/85243379