var myAtoi = function(str) {
let desStr = str.trim();
if(desStr.length === 0 ){
return 0;
}
let asc = desStr[0];
if(asc != '+' && asc != '-' && !/^\d+$/.test(asc)){
return 0;
}
let str1 = asc;
for(let index = 1;index < desStr.length; index++){
let tmp = desStr[index];
if(/^\d+$/.test(tmp)){
str1 = str1.concat(tmp)
}else{
break;
}
}
let num = str1-0;
if(num>2147483647){
return 2147483647
}
else if(num<-2147483648){
return -2147483648
}
if(isNaN(num)) return 0;
return num;
}
用字符串 -0 这个方法加上 正则解决了,画了一个小时调试居然,以后要多练习