2

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);
}

}

1 Answers1

4

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.

DemiPixel
  • 1,768
  • 11
  • 19