Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Kategoria do hasła
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
diamondking
Hej szukam w necie ale nie znam się na java i korzystam z gotowych rozwiązań, które dopasowuje do swoich potrzeb.
Chciałbym by do wylosowanego hasła była dopisana kategoria.
Jesteście mi w stanie pomóc lub nakierować czym mogę to uzyskać?
Bardzo dziękuję.

  1. var hasla = [
  2. 'Nie chwal dnia przed zachodem słońca',
  3. 'Gdzie kucharek sześć tam nie ma co jeść',
  4. 'Bez pracy nie ma kołaczy',
  5. 'Fortuna kołem się toczy',
  6. 'Lepszy wróbel w garści niż gołąb na dachu',
  7. 'Apetyt rośnie w miarę jedzenia',
  8. 'Grosz do grosza a będzie kokosza',
  9. 'Sukces jest wynikiem właściwej decyzji',
  10. 'Najbardziej niezadowoleni klienci to twoje najlepsze źródło nauki',
  11. 'Ponoś porażki często abyś mógł odnieść sukces szybciej',
  12. 'Sukces to nie to co masz ale to kim jesteś',
  13. 'Gdzie jest nemo',
  14. 'Mój przyjaciel Hachiko',
  15. 'Piraci z karaibów',
  16. 'Gwiezdne wojny'];
  17.  
  18. function rand(range_from,range_to)
  19. {
  20. var r = Math.random();
  21. r = r * (range_to-range_from) + range_from;
  22. return Math.round(r);
  23. }
  24.  
  25. var wylosowane = hasla[rand(0,hasla.length-1)];
  26. alert(wylosowane);
  27. var haslo = wylosowane;
Tomplus
Sprecyzuj bo tak na chłopski rozum to po prostu wystarczy rozbudować kod JS.

Kod
var numer_wylosowanego_hasla = rand(0,hasla.length-1);
alert(
     haslo[numer_wylosowanego_hasla] + ', w kategorii: ' + kategoria [numer_wylosowanego_hasla]
)
SmokAnalog
Przede wszystkim potrzebujesz danych. Możesz np. przypisać kategorie do haseł w formie tablicy obiektów (skracam tablicę dla czytelności):

[JAVASCRIPT] pobierz, plaintext
  1. const hasla = [
  2. {
  3. haslo: 'Nie chwal dnia przed zachodem słońca',
  4. kategoria: 'Powiedzenie'
  5. },
  6. {
  7. haslo: 'Gdzie kucharek sześć tam nie ma co jeść',
  8. kategoria: 'Powiedzenie'
  9. },
  10. {
  11. haslo: 'Piraci z karaibów',
  12. kategoria: 'Film'
  13. },
  14. {
  15. haslo: 'Gwiezdne wojny'
  16. kategoria: 'Film'
  17. }
  18. ];
[JAVASCRIPT] pobierz, plaintext

Potem losujesz hasło:
[JAVASCRIPT] pobierz, plaintext
  1. const wylosowaneHaslo = hasla[rand(0, hasla.length-1)];
[JAVASCRIPT] pobierz, plaintext

I tu masz dostęp do wylosowaneHaslo.haslo i wylosowaneHaslo.kategoria.

Weź pod uwagę jeszcze, że Twoja funkcja losująca nie jest "sprawiedliwa". Prawdopodobieństwo wylosowania skrajnych wartości jest 2 razy mniejsze niż pozostałych. Czyli jak losujesz np. z przedziału 1-6, to 1 i 6 wypadną dużo rzadziej. Spróbuj sam zgadnąć dlaczego.
diamondking
Próbuję z tym Twoim kodem SmokAnalog ale on nie działa.
Nawet jak tylko go testuje bez mojego kodu i chce wywołać hasło poprzez alert wylosowane hasło sad.gif

Tomplus - jego rozwiązanie mi pomogło.
Dziękuję
viking
Działa: https://jsfiddle.net/ru3s57Lv/
SmokAnalog
@diamondking uważaj z takim trzymaniem powiązanych danych w osobnych strukturach z tym samym indeksem. Takie coś prosi się o błędy w danych, bo nie widzisz czy każde hasło jest przypisane do odpowiedniej kategorii.

Zastanawiałeś się dlaczego ta funkcja losująca rzadziej losuje skrajne wartości?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.