方法一 模拟:
首先去除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=0
while(len>0){
if(len>4){
res+=str.slice(index,index+3)+'-'
index+=3
len-=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
};
消耗时间和内存情况: