45. Moderní JavaScript - Number: předpřipravené methods a properties, Math

Поделиться
HTML-код
  • Опубликовано: 29 янв 2025

Комментарии • 24

  • @David-Terra
    @David-Terra 2 года назад +14

    Ahoj, ve verzi 1.73.1 na windows mi zkopírování řádku pomocí CTRL+SHIFT+D nefunguje. Funguje mi ale: ALT+SHIFT+Šipka dolů. Snad to někomu pomůže... ;-)

  • @FirstNameLastName-kv2lx
    @FirstNameLastName-kv2lx Год назад +13

    Zde moje vysvětlení k tomu intervalu, tedy dejme tomu:
    let min = 15;
    let max = 20;
    console.log(Math.floor(Math.random() * (max - min + 1)) + min);
    Jednoduše řečeno, trik spočívá v tom, že se nejdříve vygeneruje číslo od 0 do 5:
    Math.floor(Math.random() * (max - min + 1))
    a k výsledku se připoče 15:
    + min
    Pokud se týká toho Math.floor(Math.random() * (max - min + 1)):
    Tady se vygeneruje číslo mezi 0 a 5.9 a výsledek se zaokrouhlí tím floor dolů na celé číslo. Kdyby tam nebylo to + 1, tak by to generovalo jen čísla do od 0 do 4.9, takže by to nikdy nevyplyvlo 5, což by neplnilo zadání.

  • @johnco001
    @johnco001 Год назад +1

    Pro pochopeni muze pomoci rozepsat si postupne ty predchozi operace po jedne a pak si to v consoli zkontrolovat na kalkulacce🙂
    let min = 15
    let max = 20
    let cislo = Math.random()
    console.log(cislo);
    console.log(cislo * (max - min + 1));
    console.log((cislo * (max - min + 1) + min));
    console.log(Math.floor(cislo * (max - min + 1) + min));

  • @kkrilen4987
    @kkrilen4987 3 года назад +1

    Dobry den Davide, prosim Vas, aku pouzivate farebnu temu v programe VSD (napr. ta, kt. je vo videu) ? kt. viditelne odlisi farebnost zatvoriek atd. dakujem

    • @hacknisvoubudoucnost
      @hacknisvoubudoucnost  3 года назад +2

      Dobrý den, mám Dark+ (defaul dark) a jako rozšíření mám Bracket Pair Colorizer a ještě Prettier - code formatter

    • @kikitauer
      @kikitauer 3 года назад +2

      Bracket Pair Colorizer je teď jako nativní rozšíření VSka. Dá se nastavit v settings.json přidáním "editor.bracketPairColorization.enabled": true. Akorát bacha na čárky, je to json. Já jsem snad půl hodiny dumala, proč mi to furt hází error 😁

  • @Vagabond1704
    @Vagabond1704 3 года назад +1

    trosku nechápu tak ze závorku ( max - min +1) můžeme nahradit 6 a je to bude stejně fungovat?

    • @hacknisvoubudoucnost
      @hacknisvoubudoucnost  3 года назад +6

      Ano, můžeš, ale kdyby jsi to vylepšil a to min a max jsi odněkud čerpal, tak může být pokaždé jiné. Závorka by již nemusela být 6. Ve videu je to univerzální, ať už budou mix a max jakékoliv

  • @heroin7277
    @heroin7277 2 года назад +2

    Ahoj. Pro méně chápavé, jako jsem třeba já, bych trochu rozvedl to (max - min + 1). V podstatě jde o to, abychom mohli získat hodnotu max(20) z daného intervalu. Nejvyšší náhodné číslo z funkce random() může být 0.9999. Tedy 0.9999.... * (max(20) - min(15)) = 4.99.... a z toho vyplývá, že nikdy nemůžeme dosáhnout intervalu 0-5, ale pouze 0-4 respektive 15-19. V podstatě by nějakým způsobem fungovalo 0.9999 * (max(20) - min(15) + 0.1), ale pravděpodobnost, že trefíme maximální hodnotu intervalu by byla příliš nízká (pravděpodobnost, že trefíme random číslo 0,981 nebo vyšší)
    Davide, děkuji za podrobné tutoriály. Je úžasné, že tomu věnujete tolik času a ještě bez nárokování nějaké odměny.

    • @hacknisvoubudoucnost
      @hacknisvoubudoucnost  2 года назад +3

      Ahoj, díky za komentář.
      Jsem rád, že se videa líbí :-)

    • @Johny8687
      @Johny8687 2 года назад

      Akorát ten vzorec bude fungovat jen v intervalu kladných čísel. Musela být v tom odečtu absolutní hodnota nebo jiné ošetření. Ale to je nepodstatné. Určitě nebylo záměrem Davida udělat tu z toho fórum matematických mozgů :D Jinak Dejve díky za obecný vzorec, je to chytrý, to takhle udělat, nikdy mě to nenapadlo :)

  • @robertradla4755
    @robertradla4755 10 месяцев назад

    Nebylo by možné udělat to víc jednoduše takhle?
    console.log(min + Math.floor(Math.random() * (max - min))
    NEBO ještě jednodušeji:
    console.log(15 + Math.floor(Math.random() * 5))
    Vychází mi to, když to zkouším a přijde mi to lépe pochopitelné.

  • @martinsima4404
    @martinsima4404 2 года назад

    Ahoj Davide. Nemůžu přijít na to, proč když použiješ dvě metody na čísla tak to běží jak má. Ale když použiju dvě metody na Stringu tak to nefunguje. Jmenovitě trim() a toUppercase()

    • @hacknisvoubudoucnost
      @hacknisvoubudoucnost  2 года назад +1

      Ahoj, tak to jsem nezkoušel, ale myslím, že by to mělo jít. Zkus vyměnit pořadí funkcí

    • @martinsima4404
      @martinsima4404 2 года назад

      @@hacknisvoubudoucnost Bohužel ani tak to nejde. Vezme to vždy jen tu vnější metodu a tu vnitřní ignoruje

    • @marcoman6712
      @marcoman6712 2 года назад +1

      @@martinsima4404
      Než použiješ druhou metodu, uzávorkuj použití té první:
      let string = " ZelenEj palouček ";
      console.log((string.toUpperCase()).trim());

  • @tomasnovotny4609
    @tomasnovotny4609 2 года назад +1

    pokud to někomu pomůže udělal jsem to z ceil aby to bylo lépe pochopitelné
    console.log(Math.ceil(Math.random() * (numberMax-numberMin+1)+ numberMin-1))

  • @Mr.Cuboid
    @Mr.Cuboid 3 года назад +5

    toFixed zaokrouhluje oproti klasické matematice čistou pětku dolů. Tedy:
    let number = 3.135
    console.log(number.toFixed(2)) ... 3.13
    let number = 3.135001
    console.log(number.toFixed(2)) ... 3.14