В 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: умножение с уменьшенным количеством итераций цикла