js算法_实现两个大数相加padStart方法
君哥
阅读:2279
5年前
评论:0
let a = "9007199254740991";
let b = "1234567899999999999";
function add(a ,b){
//取两个数字的最大长度
let maxLength = Math.max(a.length, b.length);
//用0去补齐长度
a = a.padStart(maxLength , 0);//"0009007199254740991"
b = b.padStart(maxLength , 0);//"1234567899999999999"
//定义加法过程中需要用到的变量
let t = 0;
let f = 0; //"进位"
let sum = "";
for(let i=maxLength-1 ; i>=0 ; i--){
t = parseInt(a[i]) + parseInt(b[i]) + f;
f = Math.floor(t/10);
sum = t%10 + sum;
}
if(f == 1){
sum = "1" + sum;
}
return sum;
}
add(a ,b)padStart()方法,padEnd()方法补充
'x'.padStart(5, 'ab') // 'ababx' 'x'.padStart(4, 'ab') // 'abax' 'x'.padEnd(5, 'ab') // 'xabab' 'x'.padEnd(4, 'ab') // 'xaba' '1'.padStart(10, '0') // "0000000001" '12'.padStart(10, '0') // "0000000012" '123456'.padStart(10, '0') // "0000123456" 上面代码中,padStart()和padStart()一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。 如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。 如果省略第二个参数,默认使用空格补全长度。 padStart()的常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串。
发表评论




![[数组的方法总结篇]02.数组的es5方法](http://yanjun202.com/zb_users/theme/ydlinuxse/include/random/5.jpg)