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

JS - losowanie wartości z tablicy

Object Storage Arubacloud
0 głosów
3,140 wizyt
pytanie zadane 6 lipca 2020 w JavaScript przez szymek_irl Nowicjusz (150 p.)

Witam wszystkich. Czas na poprawę humoru bo dla Was pewnie będzie to banalne. Jestem przedszkolakiem w JS.
Chciałbym stworzyć prosty kod który wylosuje jedną wartosć z gotowej tablicy. No i pewnie coś namieszałem w kodzie. 

let baza = new Array(4);
    baza[0] = "Ala ma słonia";
    baza[1] = "Lubię zupę pomidorową";
    baza[2] = "Pączki są spoczko";
    baza[3] = "Nic tak nie drażni kobiety jak wszystko";
    baza[4] = "Łoooooooo matko jedyna!";

for (i=0; i<5; i++)
    {
        if (baza >= 4) baza = 1;
        baza = Math.floor(Math.random(baza[i])*4+1);
    }

console.log(baza[i]);

Błędy jakie pokazuje konsola to:

Unexpected identifier

lub 

undefined

3 odpowiedzi

+1 głos
odpowiedź 6 lipca 2020 przez _Pita_ Stary wyjadacz (11,410 p.)
wybrane 6 lipca 2020 przez szymek_irl
 
Najlepsza

Pozwolę sobie zmodyfikować Twój kod.

Wyszło mi coś takiego:

let baza = new Array(4);
    baza[0] = "Ala ma słonia";
    baza[1] = "Lubię zupę pomidorową";
    baza[2] = "Pączki są spoczko";
    baza[3] = "Nic tak nie drażni kobiety jak wszystko";
    baza[4] = "Łoooooooo matko jedyna!";
     console.log(baza[Math.floor(Math.random()*5)])

Lub w częściej spotykany sposób:

let baza = ["Ala ma słonia",
      "Lubię zupę pomidorową",
      "Pączki są spoczko",
      "Nic tak nie drażni kobiety jak wszystko",
       "Łoooooooo matko jedyna!"]
     console.log(baza[Math.floor(Math.random()*5)])

Niepotrzebnie dałeś pętle, a Math.random() jest funkcją bezargumentową

Działanie (pseudokod):

Dodaj 5 elementów do tablicy:
"Ala ma słonia", "Lubię zupę pomidorową", "Pączki są spoczko", "Nic tak nie drażni kobiety jak wszystko", "Łoooooooo matko jedyna!"
 Wylosuj liczbę z przedziału od 0 do 1, następnie pomnóż ją przez ilość elementów w tablicy (5), a wynik zaokrągli w dół
Na koniec wypisz napis, o numerze równym wcześniej wylosowanej liczbie 

 

komentarz 6 lipca 2020 przez szymek_irl Nowicjusz (150 p.)

Musiałem odejść od kompa, ale pomyślałem o prawie tym samym po poście kolegi Michałełe
Dzięki panowie za odpowiedzi yes

+1 głos
odpowiedź 6 lipca 2020 przez Michałełe Nałogowiec (25,600 p.)
console.log(baza[i]);

Próbujesz wypisać z tablicy baza element i.

W 11 linijce przypisujesz bazie (czyli tablicy) losowy numer.

Pętla jest w ogóle nie potrzebna - wystarczy, że do zmiennej przypiszesz losowy numer, i wypiszesz element tablicy z tym wylosowanym numerem

+1 głos
odpowiedź 6 lipca 2020 przez Dani3l Bywalec (2,160 p.)

Witaj , miałeś coś takiego na myśli ? ;)

https://jsfiddle.net/Avocad00/u5nhkscy/56/

Podobne pytania

0 głosów
1 odpowiedź 140 wizyt
pytanie zadane 11 stycznia 2019 w PHP przez mk27 Początkujący (270 p.)
0 głosów
1 odpowiedź 147 wizyt
0 głosów
3 odpowiedzi 309 wizyt

92,551 zapytań

141,393 odpowiedzi

319,523 komentarzy

61,936 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!

...