13 методов умножения, использующих цикл for в JavaScript

В JavaScript цикл for — это мощный инструмент для выполнения повторяющихся задач, включая операции умножения. В этой статье блога мы рассмотрим 13 различных методов умножения чисел с использованием цикла for в JavaScript. Каждый метод будет сопровождаться примером кода, иллюстрирующим его реализацию. Давайте погрузимся!

Метод 1: базовый цикл умножения

function multiply(a, b) {
  let result = 0;
  for (let i = 0; i < b; i++) {
    result += a;
  }
  return result;
}

Метод 2: умножение с циклом убывания

function multiply(a, b) {
  let result = 0;
  for (let i = b; i > 0; i--) {
    result += a;
  }
  return result;
}

Метод 3: умножение с условным разрывом

function multiply(a, b) {
  let result = 0;
  for (let i = 0; ; i++) {
    result += a;
    if (i === b - 1) break;
  }
  return result;
}

Метод 4: умножение с шагом значения

function multiply(a, b) {
  let result = 0;
  for (let i = 0; i < b; i += 2) {
    result += a;
  }
  return result;
}

Метод 5. Умножение отрицательных чисел

function multiply(a, b) {
  let result = 0;
  let positiveB = Math.abs(b);
  for (let i = 0; i < positiveB; i++) {
    result += a;
  }
  return b < 0 ? -result : result;
}

Метод 6: умножение с обработкой нуля

function multiply(a, b) {
  if (a === 0 || b === 0) return 0;
  let result = 0;
  let positiveB = Math.abs(b);
  for (let i = 0; i < positiveB; i++) {
    result += a;
  }
  return b < 0 ? -result : result;
}

Метод 7: умножение чисел с плавающей запятой

function multiply(a, b) {
  let result = 0;
  for (let i = 0; i < b; i++) {
    result += parseFloat(a.toFixed(2));
  }
  return result;
}

Метод 8: умножение с проверкой

function multiply(a, b) {
  if (typeof a !== 'number' || typeof b !== 'number') {
    throw new Error('Both arguments must be numbers.');
  }
  let result = 0;
  for (let i = 0; i < b; i++) {
    result += a;
  }
  return result;
}

Метод 9: умножение с помощью BigInt

function multiply(a, b) {
  let result = BigInt(0);
  for (let i = BigInt(0); i < b; i++) {
    result += BigInt(a);
  }
  return result;
}

Метод 10: умножение с обработкой ошибок

function multiply(a, b) {
  if (!Number.isSafeInteger(a) || !Number.isSafeInteger(b)) {
    throw new Error('Both arguments must be safe integers.');
  }
  let result = 0;
  for (let i = 0; i < b; i++) {
    result += a;
  }
  return result;
}

Метод 11: умножение с помощью стрелочной функции ES6

const multiply = (a, b) => {
  let result = 0;
  for (let i = 0; i < b; i++) {
    result += a;
  }
  return result;
};

Метод 12: умножение с помощью шаблонных литералов

function multiply(a, b) {
  let result = 0;
  for (let i = 0; i < b; i++) {
    result += a;
    console.log(`${a} x ${i + 1} = ${result}`);
  }
  return result;
}

Метод 13: умножение с уменьшенным количеством итераций цикла