Search code examples
javascriptfizzbuzz

FizzBuzz: num%15 being first versus num%3 being first


I just want to know why 'FizzBuzz only works when num % 15 === 0 is first as opposed to when num % 3 === 0 is first.

For example:

for (let num = 1; num <= 100; num++) {
if (num % 15 === 0) {
    console.log('FizzBuzz');
} else if (num % 5 === 0) {
    console.log('Buzz')
} else if (num % 3 === 0) {
    console.log('Fizz');
} else {
    console.log(num);
} 

}

vs.

for (let num = 1; num <= 100; num++) {
if (num % 3 === 0) {
    console.log('Fizz');
} else if (num % 5 === 0) {
    console.log('Buzz')
} else if (num % 15 === 0) {
    console.log('FizzBuzz');
} else {
    console.log(num);
}

}


Solution

  • else if basically means "If the previous condition didn't pass THEN IF...". So, in your second snippet, if num % 3 === 0 is true, it will never bother checking if num % 5 === 0 or num % 15 === 0.