实现一个求乘积的算法,比如输入(‘10‘,‘10‘),返回值为100,主要思路是将传入字符串分隔为数组,双重for循环遍历,先判断个位数,是否需要进位,追加到新数组中,再去进行10进制转换;
function multiplication(s,t){ if(!s.length || !t.length) return; if (s.charAt(0) == 0 || t.charAt(0) == 0) { return ‘0‘ } let newS = s.split(‘‘), newT = t.split(‘‘),// 12 [1,2] arr = []; console.log(newS) for(let i = 0; i < newS.length; i++){ for(let j = 0; j < newT.length; j++){ arr[i + j] ? (arr[i + j] += newS[i] * newT[j]) : (arr[i + j] = newS[i] * newT[j]); } } console.log(arr) for (let index = arr.length; index > 0; index--) { if (arr[index] > 9) { arr[index - 1] += (arr[index] / 10 | 0) arr[index] %= 10 } } let str = arr.join(‘‘) console.log(str) return str } multiplication(‘10‘,‘10‘) //100