+1 szavazat
(3,2e pont) által 
által szerkesztett

A JavaScript alapok IV. (feltételek) / Feltételek és ciklusok / Feltételek és ciklusok 2. – for, if / else és a páros-páratlan számok Codeberry leckénél tartok

A kódom most így áll:

for (var szam = 1; szam <= 100; szam++) {
  if (szam % 3 === 0) {
    console.log(szam + ' kutya');
  } else if (szam % 5 === 0) {
    console.log(szam + ' cica');
  } else {
    console.log(szam);
  }
}

1 válasz

+1 szavazat
(15,8e pont) által 
által szerkesztett
 
Legjobb válasz

A feltételes kód logikája úgy működik, hogy egészen addig sorban halad végig a kódon, amíg nem talál egy olyan ágat, amelybe belemehet (az első teljesülő feltétel).
Ebben az esetben 15-nél például már rögtön a hárommal oszthatóság teljesül, ezért ott "véget is ér" a kód.
Ha szeretnéd a mindkettővel osztható számokat megkülönböztetni, akkor kell egy külön feltételes ágat írnod, ahol ezt az esetet vizsgálod. És ennek a feltételvizsgálatnak kell a többi előtt lenni a fent leírtak miatt.

if (szam % 3 === 0 && szam % 5 === 0) {
  // mindkettővel osztható
} else if (szam % 3 === 0) {
  // csak 3-mal osztható
} else if (szam % 5 === 0) {
  // csak 5-tel osztható
}
(3,2e pont) által 
Így már világos
...