//我也试了一下大数相加 function add(a,b){     if(typeof a !== 'string'||typeof b !== 'string'){         console.error('require two strings')         return     }     if(isNaN(+a)||isNaN(+b)){         console.error('require to be normal number string')         return             }     var min = a.length>b.length?b:a     var max = a.length<b.length?b:a     var len = min.length     var lenmax = max.length     var upgrade = 0     if(a.length===b.length){         min = a;         max = b;     }     var res = []     while(len--){         var sum = parseInt(min[len])+parseInt(max[--lenmax])         if(upgrade){             sum += upgrade             upgrade = 0         }         if(sum>=10){             sum -= 10             upgrade = 1         }             res.unshift(sum)     }     res = res.join("")     if(upgrade){         if(lenmax-len-1>0){             var mid = +max.slice(lenmax-len-2,lenmax-len-1)+1             res = max.slice(0,lenmax-len-2)+mid+res         }else if(lenmax-len===1){             res = 1+parseInt(max.slice(0,1))+res         }     }else if(a.length!==b.length){         res = max.slice(0,lenmax-len-1) + res     }     return res }
点赞 评论

相关推荐

牛客网
牛客企业服务