Losowy generator ciągów za pomocą JavaScript

Losowy generator ciągów za pomocą JavaScript
W JavaScript możesz łatwo utworzyć losowy generator ciągów za pomocą Math Random () metoda. Istnieją dwa podejścia do tworzenia losowego generatora strun z matematyką, jedno używa tej metody w połączeniu z podłogą matematyczną, a drugi używa tego z ToString () metoda. Ten artykuł skupi się na obu tych metodach jeden po drugim.

Metoda 1: Tworzenie losowego generatora łańcucha za pomocą matematyki () i matematyki Random ()

Aby rozpocząć, najpierw utwórz zmienną ciągów ze wszystkimi możliwymi znakami, które można mieć losowo generowany ciąg. Na przykład, jeśli chcesz utworzyć losowy ciąg z możliwościami postaci „A-Z”,„A-Z”,„0-9”I kilka postaci specjalnych, takich jak„!@#$%^&*". Aby to zrobić, użyj następującej linii:

ciąg =
„123456789ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*";

Następnie chcesz uzyskać długość tej zmiennej łańcuchowej za pomocą długość nieruchomość:

długość = ciąg.długość;

Następnie utwórz pustą zmienną ciągu, która będzie przechowywać nasz losowo wygenerowany ciąg:

var wyniki String = "";

A następnie utwórz pętlę dla pętli, a liczba iteracji pętli dla formy zdefiniuje liczbę znaków, które będzie miał losowo wygenerowany ciąg. Na razie ustawmy liczbę iteracji na 5 z następującymi wierszami:

dla (i = 1; i<=5; i++)
// następne linie pojawią się tutaj

Wewnątrz pętli, wybierzesz postać z naszych znaków do sznurka losowo, a następnie dołączysz tę postać do wyniki Zmienna z następującym wierszem:

wyniki String += String.Charat (matematyka.podłoga (matematyka.Random () * długość));

Rozbijmy tę linię i zobaczmy, co się tutaj dzieje:

  • Math Random () służy do generowania losowej wartości zmiennoprzecinkowej między 0 a 1
  • Wynik z matematyki losowej jest mnożony przez długość zmienna, w której mamy całkowitą liczbę możliwości dla każdego znaku
  • Po tym mnożeniu nadal jest to wartość zmiennoprzecinkowa. Dlatego dopełniamy liczbę do wartości całkowitej
  • Używamy tej wartości całkowitej jako wartości indeksu z naszego strunowy który zawiera wszystkie możliwe znaki
  • Wreszcie, po prostu dołączamy postać pobieraną w tym konkretnym indeksie do naszego wyniki

Następnie wyjdź z pętli i po prostu przejdź wyniki do funkcji dziennika konsoli, aby wydrukować wynik na terminalu:

konsola.log (wyniki STRING);

Kompletny fragment kodu jest jako:

ciąg =
„123456789ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*";
długość = ciąg.długość;
var wyniki String = "";
dla (i = 1; i <= 5; i++)
wyniki String += String.Charat (matematyka.podłoga (matematyka.Random () * długość));

konsola.log (wyniki STRING);

Po wielokrotnym wykonaniu ten kod daje następujący wynik terminalu:

Jak widać, dla każdego wykonania generujemy nowy losowy ciąg długości 5.

Metoda 2: Generowanie losowych ciągów za pomocą metody Math Random () i ToString ()

Tym razem będziemy używać argumentu w metodzie ToString (), aby zdefiniować podstawę sznurka do analizy. To może wydawać się mylące, ale wszystko zniknie z przykładem. Początek od utworzenia ciągłego ciągu:

const wyniki String = matematyka.losowy().Toostring (36).podłoże (2, 7);

Teraz zbadajmy to stwierdzenie części według części:

  • Math Random () tworzy losową liczbę zmiennoprzecinkową między 0 a 1
  • Następnie konwertujemy ten numer na ciąg za pomocą metody ToString () i ustawiamy podstawę jako 36
  • Wartości większe niż 10 otrzymałyby wartości alfabetyczne, podobnie jak działanie systemu liczb sześciokadciaka.
  • Następnie wybieramy tylko podłoże z wartości indeksu 2 do 7

Następnie możemy po prostu przekazać wyniki w funkcji dziennika konsoli, aby wydrukować go na terminalu:

konsola.log (wyniki STRING);

Wykonaj program kilka razy i obserwuj, że dane wyjściowe będą następujące:

Jak można obserwować na wyjściu, byliśmy w stanie wygenerować losowy ciąg o długości 5.

Jednak metoda 1 jest nieco dłuższa, ale jest znacznie lepsza, ponieważ pozwala zdefiniować możliwość umieszczenia znaków, które można umieścić w ciągu, który jest znacznie większy niż 26 alfabetów o niższych przypadkach i 10 liczb, które otrzymujemy za pomocą metody 2.

Wniosek

Losowy generator ciągu można łatwo utworzyć w JavaScript w dwóch różnych manierach. Obie te metody zasadniczo używają Math Random () Jako rdzeń, ale różnica jest wyposażona w jedno przy użyciu metody Math Floor (), a drugą za pomocą metody ToString (). W tym artykule pokazano obie metody wraz z ich przykładami w celu wygenerowania losowych ciągów o długości ustawionej na 5.