• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JavaScript Liczba podzielna przez 5 i 3

Object Storage Arubacloud
0 głosów
8,673 wizyt
pytanie zadane 7 września 2018 w JavaScript przez FroGiS Użytkownik (810 p.)

Siema mam taki oto kod 

    <script>
        for(let i=0; i<=100; i++){
            if(!(i % 3))
                console.log("Fizz")
            else if (!(i % 5))
                console.log("Buzz")
            else
                console.log(i)
        }  
    </script>

I moje pytanie brzmi: Dlaczego gdy mam przykładowo (i%3) to wyświetla wszystkie liczby które nie są podzielne przez 3 dopiero po zaprzeczeniu wyświetla się jak powinno?

Według mnie "if (i%3)" oznacza "jeżeli zmienna "i" jest podzielna przez 3" 

Mógłby mi to ktoś na szybko wytłumaczyć ?

2 odpowiedzi

0 głosów
odpowiedź 7 września 2018 przez DeBos123 Nałogowiec (44,950 p.)
wybrane 7 września 2018 przez FroGiS
 
Najlepsza
Ponieważ i%3 zwraca resztę z dzielenia, która dla liczb podzielnych przez 3 jest równa 0, a 0 jest traktowane jako false
komentarz 7 września 2018 przez FroGiS Użytkownik (810 p.)
Czyli if ((i%3) != 0) działało by tak samo jak (!(i%3)) ??

(nie mam jak aktualnie tego sprawdzić)
1
komentarz 7 września 2018 przez DeBos123 Nałogowiec (44,950 p.)
Nie, musi być if((i%3)==0), bo chcesz sprawdzić czy liczba jest podzielna przez 3, czyli reszta z dzielenia przez 3 jest równa 0
komentarz 7 września 2018 przez FroGiS Użytkownik (810 p.)
Dzięki
0 głosów
odpowiedź 7 września 2018 przez Vaultboy Nowicjusz (160 p.)

Wydaję mi się, że jest to związane z typem.

i%3 nie jest typu bool, lecz typu int.

Przypuśćmy, że gdzieś w programie miałbyś taki fragment kodu:

bool b = true;

if (b == true) {

...

} else {

...

}

Mogłoby to być napisane również w ten sposób:

bool b = true;

if (b != false) {

...

} else {

...

}

albo tak:

bool b = true;

if (b) {

...

} else {

...

}

Domyślnie masz true = 1, false = 0.

W fragmencie kodu if (i%3) tak jakby możemy to tłumaczyć tak:

jeśli i%3 nie jest falsem, czyli jeśli i%3 nie jest 0.

 

komentarz 7 września 2018 przez FroGiS Użytkownik (810 p.)
Dzięki lecz odpowiedź powyżej wydaje mi się bardziej zrozumiała

Podobne pytania

0 głosów
2 odpowiedzi 359 wizyt
pytanie zadane 17 lipca 2022 w PHP przez Piotrek2713 Mądrala (5,380 p.)
0 głosów
1 odpowiedź 14,435 wizyt
pytanie zadane 31 października 2016 w C i C++ przez Ciri Gaduła (3,380 p.)
0 głosów
1 odpowiedź 174 wizyt
pytanie zadane 9 grudnia 2019 w Matematyka, fizyka, logika przez KosaTV Obywatel (1,260 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...