Palindrom to słowo lub lista znaków, które po odwróceniu czytają to samo. Dobrym tego przykładem jest słowo „RADAR”.
Najłatwiejszym sposobem sprawdzenia palindromu w JavaScript jest utworzenie kopii oryginalnego ciągu, odwrócenie go, a następnie porównanie. Jeśli chcesz zbudować algorytm, który robi to skutecznie, musisz nauczyć się odwracać ciąg znaków w JavaScript. W tym przewodniku dowiesz się, jak to zrobić.
Jak odwrócić ciąg znaków za pomocą JavaScript?
1. Przekształć go w tablicę i odwróć
- Podziel ciąg na tablicę podciągów przy użyciu rozszerzenia rozdzielać() z klasy obiektu String. Metoda split wymaga łańcucha jako argumentu. W tym przypadku użyjesz pustego ciągu. Tak więc metoda powinna wyglądać następująco:
rozdzielać("")
- Odwróć kolejność tablicy za pomocą odwrócić() metoda.
- Przekonwertuj tablicę z powrotem na ciąg przy użyciu Przystąp() metoda. Podobnie jak metoda split, metoda join wymaga łańcucha jako argumentu. Ponownie użyjesz pustego ciągu:
Przystąp("")
Najlepszym sposobem wykonania powyższych kroków jest użycie funkcji. Oto krótki przykład kodu źródłowego, który możesz skopiować, przetestować i zmodyfikować:
Bieżący ciąg: „Odwróć ten ciąg!” The Great Reverso!
Odwrócić
function myFunction ()
var str = "Odwróć ten ciąg!";
var res = str.split (""); // Podziel ciąg na tablicę znaków
res.reverse (); // Odwróć kolejność tablicy znaków
str = res.join („”);
document.getElementById ("demo"). innerHTML = str; // Dołącz ciąg do demonstracji HTML
W powyższym przykładzie tworzymy funkcję, która odwraca zakodowany ciąg znaków, a następnie ustawia na niego element dokumentu. Funkcja jest następnie wywoływana z przycisku oznaczonego „Odwróć”.
Istnieje wiele sposobów na skrócenie i zmodyfikowanie tego kodu. Na przykład zamiast przypisywania połączonego ciągu do str zmienną, możesz ponownie przypisać ją do res zmienną, a następnie wskaż element demonstracyjnego dokumentu HTML, tj.
res = res.join („”);
document.getElementById ("demo"). innerHTML = res;
Alternatywnie możesz zebrać wszystkie trzy kroki w jedną linię:
var res = str.split (""). reverse (). join ("");
Tak czy inaczej, wyniki powinny być takie same:
Chcesz nauczyć się JavaScript jeszcze szybciej? Dowiedz się, dlaczego powinieneś pobrać kod JavaScript, czytając ten artykuł!
2. Odwróć ciąg w JavaScript za pomocą pętli for
- Utwórz nową pustą zmienną łańcuchową, która będzie zawierała odwrócony ciąg.
var reverseString = "";
- Skonstruuj pętlę for o następujących cechach:
- Inicjator: zainicjuj licznik, którego wartość jest długością ciągu do odwrócenia, odejmowaną przez 1.
- Warunek: upewnij się, że licznik jest większy lub równy 0.
- Iteracja: licznik powinien zmniejszać się po każdej udanej pętli.
- Treść pętli for powinna dodać znak z oryginalnego ciągu do tego, co stanie się odwróconym ciągiem podczas używania licznika pętli for do ustawiania pozycji znaku.
for (var i = fwdStri.length - 1; i> = 0; i--) reverseString = newString + fwdStr [i];
Ponownie powinieneś zastosować powyższą operację w funkcji w tagach skryptowych. To, czy chcesz dołączyć JavaScript jako plik zewnętrzny, czy kod osadzony, zależy od Ciebie. Oto jak powyższe rozwiązanie wygląda w akcji:
The Great Reverso!
Bieżący ciąg: „Odwróć ten ciąg!”
Funkcja odwrotna myFunction () var fwdString = "Odwróć ten ciąg!"; var reverseString = ""; for (var i = fwdString.length - 1; i> = 0; i--) reverseString + = fwdString [i]; // Alternatywa dla newString + fwdString [i] document.getElementById ("demo"). InnerHTML = reverseString;
Powyższy kod działa poprzez zapętlenie oryginalnego ciągu w odwrotnej kolejności i klonowanie go znak po znaku. Jeśli nie jesteś zainteresowany jawnym rzutowaniem łańcucha na tablicę, to rozwiązanie może być bardziej odpowiednie dla twoich celów.
3. Odwróć ciąg w JavaScript za pomocą rekursji
- Utwórz nową funkcję z ciągiem znaków jako parametrem, np.
function reverseString (str)
- W treści funkcji utwórz plik gdyby instrukcja, która sprawdza, czy ciąg przekazany do funkcji jest pusty. Jeśli prawda, powinien zwrócić pusty ciąg, np.
if (str === "") return "";
- Dodaj inne stwierdzenie.
- W treści instrukcji else zwróć rekurencyjne wywołanie bieżącej metody z podłańcuchem parametru ciągu metody, zaczynając od drugiego znaku, tj. str.substr (1). Dołącz pierwszą literę nowego podciągu, np.
else return reverseString (str.substr (1)) + str.charAt (0);
Powinieneś wywołać tę metodę z innej funkcji, która jest odpowiedzialna za wyświetlanie wyników. Cały kod powinien wyglądać mniej więcej tak:
The Great Reverso!
Bieżący ciąg: „Odwróć ten ciąg!”
Funkcja odwrotna myFunction () var str = this.reverseString ("Odwróć ten ciąg!"); document.getElementById ("demo"). innerHTML = str; function reverseString (str) if (str === "") return ""; else return reverseString (str.substr (1)) + str.charAt (0);
Rekurencja działa podobnie jak pętla for, ale oszukujesz logikę JavaScript, aby działała za Ciebie. Zamiast dołączać znaki na końcu łańcucha, dołącza go z przodu za pomocą każdej pętli. Niemniej jednak wyniki są bardzo podobne.
Powyższe przykłady można przetestować za pomocą Notatnika Windows i przeglądarki internetowej. Sugerujemy jednak użycie wieloplatformowego edytora kodu lub zintegrowanego środowiska programistycznego, aby zaoszczędzić trochę czasu.
Jak odwrócić ciąg znaków w skrypcie JavaScript to typowe pytanie wywiadu. Dlatego zrozumienie tego może być niezbędne dla Twojego sukcesu jako programisty.
Niemniej jednak w komentarzach poniżej daj nam znać, która metoda działa najlepiej dla Ciebie. Jak zawsze dziękuję za przeczytanie.
Często zadawane pytania: Dowiedz się więcej o JavaScript
- Jak naprawić JavaScript void 0 w Chrome?
Aby naprawić błąd JavaScript void 0 w Chrome, zapoznaj się z naszym szczegółowym przewodnikiem po błędach javascript: void (0).
- Jak mogę naprawić błąd JavaScript, który wystąpił w głównym procesie?
Aby naprawić błąd JavaScript w głównym procesie, postępuj zgodnie z metodami przedstawionymi w naszym przydatnym Napraw JavaScript w głównym przewodniku po procesie.
- Co to jest splice w JavaScript?
Metoda splice w JavaScript dodaje lub usuwa elementy z tablicy.
- Javascript