题目:给定两个数字(0-9)字符串(长度不限)求它们的乘积。
function multiply(sum1, sum2) {
/**将两个字符串拆为数组并反转,生成结果数组并初始化为0**/
let s1 = sum1.split('').reverse()
let s2 = sum2.split('').reverse()
let r = new Array(s1.length + s2.length).fill(0)
/**相乘**/
s1.forEach((m, i) => {
s2.forEach((n, j) => {
let k = i + j
let t = r[k] + m * n
r[k] = t % 10
r[k + 1] += Math.floor(t / 10)
})
})
/**去掉结果数组最开始的0**/
r = r.reverse()
let k = 0
while (r[k] === 0 && k <= r.length - 2) {
k++
}
return r.join('').slice(k)
}