1
var multiply = function (num1, num2) {7
for (let i = m - 1; i >= 0; i -= 1) {8
const digitOne = parseInt(num1[i]);9
let step = "0".repeat(m - 1 - i);12
for (let j = n - 1; j >= 0; j -= 1) {13
const digitTwo = parseInt(num2[j]);15
const product = digitOne * digitTwo + carry;16
const newDigit = product % 10;17
carry = Math.floor(product / 10);19
step = newDigit + step;22
if (carry > 0) step = carry + step;26
for (let i = 0; i < steps.length - 1; i += 1) {27
let nextStep = steps[i + 1];29
step = "0".repeat(nextStep.length - step.length) + step;33
for (let j = step.length - 1; j >= 0; j -= 1) {34
const sum = parseInt(nextStep[j]) + parseInt(step[j]) + carry;35
const digit = sum % 10;36
carry = Math.floor(sum / 10);37
newStep = digit + newStep;40
if (carry > 0) newStep = carry + newStep;41
steps[i + 1] = newStep;44
let result = steps[steps.length - 1];46
while (leadingZeros < result.length - 1 && result[leadingZeros] === "0") {50
return result.slice(leadingZeros);