Ich habe in letzter Zeit FCC -Fragen probiert, genau wie ein Upgrade, um gegen Monster zu kämpfen, und ich habe jeweils ein Level bestanden, was für mich sehr attraktiv ist. Ich habe mir die Zeit genommen, heute den grundlegenden Algorithmus -Schrottteil durchzuführen. Nach einigen Tipps ist es relativ einfach. Ich denke, die Methoden zum Umgang mit einigen Fragen sind es wert, gelernt zu werden. Zum Beispiel müssen Sie manchmal einen Charakter in einem Projekt verarbeiten. Wenn Sie sich einige verwandte Methoden nicht vorstellen können, ist dies ziemlich problematisch. Nehmen Sie es hier auf. Wenn Sie in Zukunft auf einige Zeichen oder Array -Verarbeitung stoßen, können Sie diesen Artikel durchsuchen, in der Hoffnung, einige Eingabeaufforderungen zu erhalten, anstatt das Dokument zu übersetzen.
Wenn Sie diesen Blogger sehen, wenn Sie einen besseren und einfacheren Code oder gute Ideen haben, überlassen Sie bitte eine Nachricht, um zu kommunizieren (ich denke immer, dass Sie das hervorragende Code anderer Menschen schneller und flexibleres Denken machen können). Versuchen Sie für Anfänger, es selbst zu tun, ohne sich den Code anzusehen. (Die folgenden Fragen müssen keine Parametertypen berücksichtigen. Streng genommen sollte ein Urteil über die Parametertypen getroffen werden, z. B. typeof (arg) === Nummer)
1.Reverse eine Zeichenfolge
Flip String
Konvertieren Sie zuerst die Zeichenfolge in ein Array und verwenden Sie dann die umgekehrte Methode des Arrays, um die Array -Reihenfolge umzudrehen und schließlich das Array in eine Zeichenfolge umzuwandeln.
Ihr Ergebnis muss eine Zeichenfolge sein
function ReverseString (str) {str = str.split (''). Reverse (). join (''); return str;} ReverSestring ("Hallo");2. Prüfen Sie für Palindrome
Wenn die angegebene Zeichenfolge palindrome ist, geben Sie wahr, sonst falsch.
Wenn eine Saite Interpunktion, Fall und Räume ignoriert und direkt liest und entgegengesetzt liest, ist diese Saite Palindrome (Palindrome).
Beachten Sie, dass Sie die zusätzliche Interpunktion und die Leerzeichen der Saite entfernen und dann die Zeichenfolge in Kleinbuchstaben konvertieren müssen, um zu überprüfen, ob die Zeichenfolge Palindrome ist.
Der Wert von Funktionsparametern kann "Racecar", "Racecar" und "Race Car" sein.
Funktion palindrome (str) {// Viel Glück! Str = Str.Replace (/[/|/~ |/`|/! Interpunktionsmarkierungen, dies ist meine Baidu, und ich bin nicht sehr vertraut mit JS -Regeln Str. false;} palindrome ("eye");/*palindrome ("eye") sollte wahr zurückkehren. false.palindrome ("bonomla") sollte falsch zurückgeben.3. Title Fall ein Satz
Stellen Sie sicher, dass der erste Buchstabe jedes Wortes in der Zeichenfolge aktiviert ist und der Rest Kleinbuchstaben ist. (zB: Titlecase ("Ich bin ein kleiner Teekopf") sollte zurückkehren "Ich bin ein kleiner Teekopf". Titlecase ("Short and Stout") sollte "kurz und kräftig" zurückkehren.)
/*Diese Frage ist sehr einfach. Die Hauptsache ist zu verstehen, dass Split () darin besteht, eine Zeichenfolge in ein Array -Join () zu teilen, darin, das Array in eine String -TolowerCase () touppercase () -Fallumwandlung zu verwandeln. Beachten Sie, dass es nur für Buchstaben gültig ist und andere Zeichen (z. B.:/,!@) Ungültig sind str [i] = str [i] .substring (0, 1) .touppercase () + st [i] .substring (1); } return str.join (""); // Verbinde das Array durch Spaces} Titlecase ("Ich bin ein kleiner Teekopf");4. Befolgen Sie das Ende
Überprüft, ob eine Zeichenfolge (STR) mit der angegebenen Zeichenfolge (Ziel) endet.
Wenn ja, kehren Sie wahr zurück; Wenn nicht, kehren Sie falsch zurück. Zum Beispiel: Bestätigung ("Bastian", "N") sollte wahr zurückkehren. Bestätigung ("Connor", "n") sollte falsch zurückkehren. Bestätigung ("Gehen auf Wasser und Entwicklungssoftware aus einer Spezifikation ist einfach, wenn beide gefroren sind", "Spezifikation") sollte falsch zurückkehren.
Funktion bestätigen (STR, Ziel) {// "Gib niemals auf und viel Glück wird dich finden." //-Falcor return str.substr (str.length-target.length) == Ziel? Richtig: Falsch;} Bestätigung ("Bastian", "n"); Bestätigung ("Er muss mir einen neuen Namen geben", "na");/*Bestätigung ("Bastian", "n") sollte wahr zurückkehren. false.confirirmending ("Er muss mir einen neuen Namen geben", "Name") wahre.5. Wiederholen Sie eine Zeichenfolge, die eine Zeichenfolge wiederholt
Sagen Sie 3 Mal wichtige Dinge!
Wiederholen Sie eine angegebene Zeichenfolge zahlenzahlen und geben Sie eine leere Zeichenfolge zurück, wenn Num eine negative Zahl ist. Zum Beispiel:
Wiederholen ("*", 3) sollte zurückkehren "***".
Wiederholen ("ABC", 3) sollte "abcabcabc" zurückgeben.
Wiederholung ("ABC", 4) sollte zurückkehren "abcabcabcabc".
Wiederholen ("ABC", 1) sollte "ABC" zurückgeben.
Wiederholen ("*", 8) sollte zurückkehren "*********".
Wiederholung ("ABC", -2) sollte zurückkehren "".
Wenn Sie die Herausforderung nicht abschließen können, denken Sie daran, den ultimativen Schritt "Read-Search-Ask" zu verwenden.
Hier sind einige Ressourcen, die Ihnen helfen:
• Globales String -Objekt
Funktion repeat (str, num) {// Wiederholung nach mir var newsstr = str; if (num> 1) {für (var i = 1; i <num; i ++) {str += newstr; } return str; } else if (num == 1) {return str; } else {return ""; }} repep ("abc", 3); repep ("*", 3);6. Chunky Affe
Affen essen Bananen, bricht sie aber in mehrere Abschnitte ein, um sie zu essen!
Teilen Sie ein Array -ARR in mehrere Arrayblöcke gemäß der angegebenen Arraygröße.
Zum Beispiel: Chunk ([1,2,3,4], 2) = [1,2], [3,4]];
Chunk ([1,2,3,4,5], 2) = [1,2], [3,4], [5]];
Funktion Chunk (arr, Größe) {// brechen Sie es auf. var arr1 = []; für (var i = 0; i <arr.length; i = i + size) {var arr2 = arr; arr1.push (arr2.lice (i, i + size)); } return arr1;} Chunk (["A", "B", "C", "D"], 2);7. FALSY THOUNCER
Wahrer und falscher Affenkönig!
Löschen Sie alle falschen Werte im Array.
In JavaScript sind falsche Werte falsch, null, 0, "", undefiniert und Nan.
Wenn Sie die Herausforderung nicht abschließen können, denken Sie daran, den ultimativen Schritt "Read-Search-Ask" zu verwenden.
Hier sind einige Ressourcen, die Ihnen helfen:
• Boolesche Objekte
• Array.Filter ()
Zum Beispiel:
Bouncer ([7, "aß", "", falsch, 9]) sollte zurückkehren [7, "aß", 9].
Bouncer (["A", "B", "C"] sollte ["A", "B", "C"] zurückkehren.
Türsteher ([Falsch, Null, 0, Nan, undefiniert, ""] sollte zurückkehren [].
Türsteher ([1, Null, Nan, 2, undefined]) sollte zurückkehren [1, 2].
/* In dieser Frage geht es um das Verständnis des Filters. Dies ist mein ursprünglicher Code. Es ist nicht gut geschrieben und hat wenig Referenzwert. Sie sollten auch auf den NAN -Vergleich achten. selbst ist selbst nicht selbst (nan! = nan)*/function bouncer (arr) {// Zeigen Sie diesem Türsteher keine falsche ID an. var arr1 = []; var J = 0; arr.filter (function (val, index) {if (val === false || val === null || val === 0 || val === "" || val === undefined || val! == val) {arr1.push (index);}}); var len = arr1.length; für (var i = 0; i <len; i ++) {arr.splice (arr1 [i] -j, 1); J ++; } return arr;} bouncer ([7, "ate", "", false, 9]);8.Sehese und zerstören
Jinx's Mörtel!
Implementieren Sie eine Zerstörerfunktion, der erste Parameter ist das zu zerstörende Array, und die verbleibenden Parameter sind die zu zerstörenden Werte.
Zum Beispiel:
Zerstörer ([1, 2, 3, 1, 2, 3], 2, 3) sollte zurückkehren [1, 1].
Zerstörer ([1, 2, 3, 5, 1, 2, 3], 2, 3) sollte zurückkehren [1, 5, 1].
Zerstörer ([3, 5, 1, 2, 2], 2, 3, 5) sollte zurückkehren [1].
Zerstörer ([2, 3, 2, 3], 2, 3) sollte zurückkehren [].
Zerstörer (["Baum", "Hamburger", 53], "Baum", 53) sollte zurückkehren ["Hamburger"].
Hier sind einige Ressourcen, die Ihnen helfen:
• Argumente Objekt
• Array.Filter ()
Funktion Zerstörer (arr) {// Entfernen Sie alle Werte var tempargumente = Argumente; return arr.filter (Funktion (Eintrag) {für (var i = 1; i <tempargumente.length; i ++) {if (Eintrag == TEMPARGUMENTEN [i]) {return false;}} return true;});} Zerstörer ([1, 2, 3, 1, 2, 3], 2, 3);9. Wohin gehöre ich
Wo bin ich?
Sortieren Sie zuerst das Array, finden Sie dann den angegebenen Wert am Standort des Arrays und geben Sie schließlich den dem Ort entsprechenden Index zurück.
Zum Beispiel: wobei ([1,2,3,4], 1,5) zurückkehren sollte, da 1,5 in das Array [1, 2, 3, 4] eingefügt wird und [1, 1,5, 2, 3, 4] wird, und der in 1,5 entsprechende Indexwert 1 ist 1.
In ähnlicher Weise sollte ([20,3,5], 19) zurückkehren 2. Da das Array zuerst als [3,5,20] sortiert wird, wird 19 in das Array [3,5,20] eingefügt und wird [3,5,19,20], und der Indexwert, der 19 entspricht 19, beträgt 2.
Hier sind einige Ressourcen, die Ihnen helfen:
• array.sort ()
Funktion wobei (arr, num) {// meinen Platz in diesem sortierten Array finden. // Beachten Sie die sort () sort () sortieren regel arr.sort (function (a, b) {return a-b;}); für (var i = 0; i <arr.length; i ++) {if (arr [i]> num arr [i] == num) {return i; }} return arr.length;} wobei ([5, 3, 20, 3], 5);10.CAESARS CIPHER
Lassen Sie Gott Gott gehören und Cäsar gehört Cäsar.
Als nächstes werden wir das Caesar -Passwort Caesar -Cipher vorstellen, das auch als Shift -Passwort bekannt ist und auf der ganzen Welt beliebt ist.
Das Schichtkennwort bedeutet, dass die Buchstaben im Passwort gemäß der angegebenen Nummer verschoben werden.
Ein allgemeiner Fall ist das ROT13 -Passwort, und die Buchstaben werden um 13 Positionen verschoben. Von 'a' ↔ 'n', 'b' ↔ 'o' und so weiter.
Schreiben Sie eine ROT13 -Funktion, um die eingegebene verschlüsselte Zeichenfolge zu implementieren und die entschlüsselte Zeichenfolge auszugeben.
Alle Buchstaben werden aktiviert, konvertieren keine Nicht-Letter-Zeichen (z. B. Räume, Interpunktionsmarken). Wenn Sie diesen Sonderzeichen begegnen, überspringen Sie sie.
Zum Beispiel:
ROT13 ("SERR PBQR PNZC") sollte auf "kostenloses Codecamp" dekodiert werden
ROT13 ("SERR CVMMN!") Sollte als "kostenlose Pizza!"
Rot13 ("Serrybir?") Sollte als "freie Liebe" dekodiert werden?
rot13 ("gur dhvpx oebja qbt whzcrq bire gur ynml sbk.") sollte dekodiert werden, als "der schnelle braune Hund über den faulen Fuchs sprang".
Hier sind einige Ressourcen, die Ihnen helfen:
• string.charCodeat ()
• String.FromCharCode ()
Funktion rot13 (str) {// lbh qvq vg! var arr = str.ToUppercase (). Split (""); var str1 = []; für (var i = 0; i <arr.length; i ++) {var arr1 = arr [i] .Split (""); für (var j = 0; j <arr1.length; j ++) {var num = arr1 [j] .charCodeat (); if (num> = 65 && num <= 90) {arr1 [j] = num + 13> 90? String.FromCharCode (64 + (num + 13 - 90)): String.FromCharCode (num + 13); // 64 + (num + 13 - 90), um zu verstehen, warum es 64,}} Str1.push (arr1.join ("")); } return str1.join ("");} // Ändern Sie die folgenden Eingänge in testROT13 ("SERR pbqr pnzc");In dem obigen Artikel werden einige grundlegende Algorithmusprobleme in Charakter und Array in JS kurz erläutert. JS ist der Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.