Я пытаюсь заставить мой FizzBuzz выполнять вычисления с использованием модуля по переменной, чтобы упростить код.Предполагается, что они будут насчитывать до 140, отображая True или False.
Мой предыдущий оператор if выглядит следующим образом (и он работал):
if (i % 3 === 0 && i % 5 === 0)
Пример, который я видел, выглядит следующим образом:
if (checkDivision(iCounter, secondDivisor))
Я создал переменные для счетчика, двух делителей и модуля проверки, но я не могу заставить его работать.
Любая помощь приветствуется, потому что я все еще очень плохо знаком с javascript и кодированиемв общем.
Вот мой код до сих пор:
function clickAlert2() {
var firstDivisor = 3;
var secondDivisor = 5;
for (var iCounter = 1; iCounter <= 140; iCounter++) {
var checkDivision =
iCounter % firstDivisor === 0 || iCounter % secondDivisor === 0;
if (checkDivision(iCounter, firstDivisor)) {
document.getElementById("ngList").innerHTML +=
checkDivision + ". True [3] <br>";
} else if (checkDivision(iCounter, secondDivisor)) {
document.getElementById("ngList").innerHTML +=
checkDivision + ". True [5] <br>";
} else {
document.getElementById("ngList").innerHTML +=
checkDivision + ". False <br>";
}
}
}
РЕДАКТИРОВАТЬ ---------------------------------------------------------------------------
Хорошо, теперь моя единственная проблема состоит в том, что числа, которые должны делиться на пять, отображаются как делимые на три, когда явно это невозможно:
function clickAlert2() {
function checkDivision(counter) {
var firstDivisor = 3,
secondDivisor = 5;
return (counter % firstDivisor === 0) || (counter % secondDivisor === 0);
};
for (var iCounter = 1; iCounter <= 140; iCounter++) {
if (checkDivision(iCounter)) {
document.getElementById("ngList").innerHTML +=
iCounter + ". True [3] <br>";
} else if (checkDivision(iCounter)) {
document.getElementById("ngList").innerHTML +=
iCounter + ". True [5] <br>";
} else {
document.getElementById("ngList").innerHTML +=
iCounter + ". False <br>";
}
}
}