Odwrócony ciąg JavaScript

| | | | | | | | | | | | | | | | | | | | | | | | | |

Jednym z pierwszych wyzwań związanych z kodem/algorytmem, z którymi mamy się zmierzyć jako początkujący inżynierowie oprogramowania i twórcy stron internetowych, jest sprawdzenie, czy możemy wymyślić, jak odwrócić ciąg znaków. Pamiętaj, że łańcuch to tylko zbiór znaków i spacji. To, co musimy zrobić, to spróbować odwrócić, na przykład ciąg "Witam wszystkich!" " I z powrotem! EDNOM olleH –. Istnieje kilka sposobów rozwiązania tego problemu i omówimy niektóre z nich w tym artykule.

Napisz funkcję ReverseString, która odwraca ciąg i zwraca go. Ciąg do odwrócenia jest dostarczany jako argument w funkcji.

Rozwiązanie nr. 1: Pętla

Pierwszym i prawdopodobnie jednym z najłatwiejszych rozwiązań jest użycie pętli i cofnięcie się przez łańcuch. Będziemy musieli utworzyć lub utworzyć zmienną zawierającą nowy odwrócony ciąg, do którego przekazujemy każdy znak w ciągu:

przypisz i do ostatniego indeksu (który jest obliczany, gdy weźmiemy 1 z długości łańcucha) ‚áí to jest nasza inicjalizacja i będzie to pierwsza wskazówka, której się przyjrzymy. Druga część pętli to nasz stan ‚áí, który informuje pętlę, kiedy ma się zatrzymać. Trzecią i ostatnią częścią pętli jest to, jak bardzo nasze i wzrasta po zakończeniu pętli, a warunek jest nadal spełniony: I- zasadniczo bierze nasze i i ponownie je przypisuje - 1;

Kiedy przechodzimy przez każdą iterację, bierzemy każdy znak str [i] i dodajemy go do newStr. Następnie wracamy do newStr poza naszą pętlą i wychodzimy z funkcji.

Wypróbuj sam w edytorze kodu:

Rozwiązanie nr . 2: Metoda mapowania JavaScript w ES6 w

JavaScript ma wbudowaną metodę tablicową, która była nowością w ES6, o nazwie mapa. Zwraca nową tablicę z określonymi wartościami. Metoda map ma trzy parametry: bieżący element, indeks elementu i kopię tablicy, z której pochodzi. W rozwiązaniu użyjemy dwóch ostatnich parametrów.

Pierwszą rzeczą, którą musimy zrobić, jest podzielenie string do tablicy za pomocą metody split(). Jeśli podzielimy na pusty ciąg, metoda da nam tablicę ze wszystkimi znakami w środku. Dlatego użyjemy tego nowego zakresu à la carte powyżej.

Od zasadniczo chcemy indeksów wymiany, musimy zrozumieć podpowiedź znaku, który chcemy ustawić w bieżącym indeksie. Będzie to znak, który zwrócimy.

Aby to zrobić, znajdujemy długość tablicy, minus jeden, ponieważ jesteśmy tablicą liczoną od zera , a następnie odejmujemy pozycję bieżącego indeksu. Tablica [swapIndex], do której wracamy, zasadniczo zajmuje miejsce bieżącego indeksu. Daje nam to tablicę odwróconych znaków w ciągu.

Ostatnią rzeczą, którą musimy zrobić, jest połączyć tablicę w ciąg i zwrócić ją.

Testowanie rozwiązania w edytorze kodu!

rzecz ważna pamiętaj, że map zwraca nową tablicę - więc nie modyfikujemy oryginalnego przekazanego str / array.

< h4> Rozwiązanie nr 3: Wbudowana metoda JavaScript

Ta metoda rozwiązywania tego problemu z kodem wykorzystuje wbudowane funkcje/metody split(), inverse() i join(), aby rozwiązać ten problem w jednym wierszu:

Spróbuj uruchomić poniższy kod i przetestuj go osobiście zobacz pracę!

w zasadzie to, co wbudowane reverse() to card() (metoda, którą opisaliśmy w naszym poprzednim rozwiązaniu) pod maską; ale , zmutuj oryginalną tablicę zamiast zwracać nową, gdy przestawia się na miejsce, jeśli ty. rozwiązują problem, ale większy, może być konieczne wykonanie kopii oryginalnej tabeli, aby w razie potrzeby nadal mieć dostęp do oryginału.

to nie są tylko ostateczne sposoby na naprawienie tego — to tylko kilka z najpopularniejszych sposobów na naprawienie tego eksperymentu i zobaczenie, czy możesz znaleźć inne rozwiązania dla siebie w edytorze kodu poniżej — powyżej Zmodyfikuj .. ReverseString() i nic więcej, jeśli chcesz to zobaczyć na ekranie.