var number = 15;
var taskResult;
taskResult = number;
if (!(number%3)) {
var taskResult = 'Fizz';
}
if (!(number%5)) {
var taskResult = 'Buzz';
}
if (!(number%5) && !(number%3)) {
var taskResult = 'FizzBuzz';
}
if(number%5===0){
taskResult=‘Buzz’;
console.log(taskResult);
if(number%3===0){
taskResult=‘Fizz’;
console.log(taskResult);
if(number%3===0 && number%5===0){
taskResult=‘FizzBuzz’;
console.log(taskResult);
}}}else{
taskResult=number;
console.log(taskResult);
}
вопрос вот в чем, второе условие у меня это fizz не проходит проверку, менял местами то же самое, второе не проходит вне зависимости от порядка
смотрите как работает ваш скрипт:
if ( number%5===0 ) {
// присвоение и много условий исчо //
} else { taskResult=number; }
независимо от того, будет ли число 18 делиться на 3 без остатка, будет возвращать число, т.к. оно не делится на 5 без остатка (то самое иначе). А вариант с 15, будет частным случаем срабатывания первой проверки, а как следствие третьей.
вы запутались вот тут }}}else{
переделайте немного, используя else if (ну или вообще по-другому можно забабахать)
спасибо за помощь, понял что ничего не понял,
попробовал использовать else if как в примере у кого то было работает,с ней так все 6 заданий можно пройти
if(number%3===0 && number%5===0){
taskResult=‘FizzBuzz’;
console.log(taskResult);
}
else if (number%5===0){
taskResult=‘Buzz’;
console.log(taskResult);
}
else if(number%3===0){
taskResult=‘Fizz’;
console.log(taskResult);
} else {
taskResult=number;
console.log(taskResult);
}
уже не первый раз вижу как вы делаете задания, не увлекайтесь тернарными операторами, очень ухудшают чтение, вообще вложенные тернарные операторы - плохая практика. вы пишете неподдерживаемый код в будущем. в команде такое очень не любят. тем более стоит понимать, что тернарные операторы имеют весьма ограниченную область применения, например не дружат со многими методами (контекст выполнения потом замучаетесь выписывать короче).
const range = 100;
const firstNumber = 3;
const secondNumber = 5;
for (let i = 1; i <= range; i++) {
if (i % firstNumber === 0 && i % secondNumber === 0){
console.log(i + ` Делится на ${firstNumber} и на ${secondNumber} `)
} else if (i % secondNumber === 0) {
console.log(i + ` Делится на ${secondNumber}`)
} else if (i % firstNumber === 0) {
console.log(i + ` Делится на ${firstNumber}`)
} else {
console.log(i + ' Не делится')
}
}