方法一 模拟:
首先去除number里面的破折号和空格,取出纯数字组成的字符串str。
对于str每三个数分成一组,加一个破折号,当str的长度小于等于4时再分情况讨论,如果等于4就分为2+2形式,如果小于4,剩下的就为一组
var reformatNumber = function(number) {let str = ''for(let item of number){if(item!=' ' && item!='-'){str+=item}}let len = str.length,res='',index=0while(len>0){if(len>4){res+=str.slice(index,index+3)+'-'index+=3len-=3}else{if(len==4){res+=str.slice(index,index+2)+'-'+str.slice(index+2,index+4)}else{res+=str.slice(index,index+len)}break}}return res
};
消耗时间和内存情况: