字串按重複次數及大小排序
阿新 • • 發佈:2019-01-02
面試遇到一個問題,輸入一個字串將字串按重複次數多到少,數字順序小到大進行排序
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多撒
雖然不知道哪裡會用到,先列出來吧