UrsacheDer Grund für das Schreiben dieses Blogs ist, dass ich heute die tägliche Frage von Leetcode beantwortet habe. Es handelt sich um eine Frage zur Konvertierung einer Zeichenfolge in eine Ganzzahl (atoi). Wenn Sie interessiert sind, können Sie auf den Titel klicken, um die ausführliche Beschreibung anzuzeigen. Nachdem ich es viele Male debuggt und schließlich erfolgreich übermittelt hatte, ging ich zum Kommentarbereich, um die Lösungen der Experten zu sehen. Nachdem ich es gelesen hatte, konnte ich nicht anders, als zu seufzen, dass parseInt() in JavaScript so hervorragend ist. Das sagt mir eine Wahrheit: Es kann sein, dass wir die APIs, von denen wir meinen, dass wir mit ihnen sehr vertraut sind, nicht wirklich beherrschen. ” Meine Antwort/** * @param {string} str * @return {Zahl} */ var meinAtoi = Funktion(str) { str = str.trim(); //Fang das erste Zeichen des Strings ab var firstChar = str.charAt(),res = '',regSymbol = /^[\-\+]{1}/,regNumber = /^[0-9]{1}/; wenn(!regSymbol.test(erstesZeichen) && !regNumber.test(erstesZeichen)){ gebe 0 zurück; } //Das erste Zeichen ist + oder - wenn(regSymbol.test(firstChar)){ var sliceStr = str.slice(1,str.length); für(var i=0;i<sliceStr.length;i++){ wenn (regNumber.test(sliceStr.charAt(i))) { res += sliceStr.charAt(i); }anders{ brechen; } } (res.Länge)? res = parseInt(erstesZeichen + res) : res = 0; wenn(firstChar == '-' && res < Math.pow(-2,31)){ res = Math.pow(-2,31); } wenn(firstChar == '+' && res > Math.pow(2,31) - 1){ res = Math.pow(2,31) - 1; } Rückgabewert; } //Das erste Zeichen ist eine Zahl if (regNumber.test(firstChar)) { var sliceStr = str; für(var i=0;i<sliceStr.length;i++){ wenn (regNumber.test(sliceStr.charAt(i))) { res += sliceStr.charAt(i); }anders{ brechen; } } wenn (parseInt(res) > Math.pow(2,31) - 1) { res = Math.pow(2,31) - 1; } Rückgabewert; } }; Die Antwort vom Chef/** * @param {string} str * @return {Zahl} */ var meinAtoi = Funktion(str) { Konstante Zahl = parseInt(str, 10); wenn(istNaN(Zahl)) { gebe 0 zurück; } sonst wenn (Zahl < Math.pow(-2, 31) || Zahl > Math.pow(2, 31) - 1) { Rückgabewert < Math.pow(-2, 31) ? Math.pow(-2, 31) : Math.pow(2, 31) - 1; } anders { Rücksendenummer; } }; Durch Vergleich wissen wir, dass parseInt() in JavaScript eine Reihe von Operationen ausgeführt hat, wie etwa das Abfangen leerer Zeichenfolgen, das Beurteilen des ersten Buchstabens und das Zurückgeben von Ergebnissen vom Typ „Zahl“. Es passt einfach perfekt zur heutigen Tagesfrage. Es ist so cool, parseInt() zu verwenden, um dieses Problem zu lösen. Dies ist das Ende dieses Artikels über die wunderbaren Verwendungsmöglichkeiten von parseInt() in JavaScript. Weitere relevante Inhalte zu JavaScript parseInt() finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So implementieren Sie Linux Deepin, um redundante Kernel zu löschen
>>: So finden Sie Informationen zu nicht festgeschriebenen Transaktionen in MySQL
Docker V1.13.1 auf centos7.3 mit yum installiert ...
1 Tomcat herunterladen und starten Gehen Sie auf ...
In diesem Artikel wird der spezifische Code von j...
Vorwort ORDER BY 字段名升序/降序. Ich glaube, jeder hier...
Vorwort In der heutigen, immer bequemeren Interne...
Vorwort Dieser Artikel konzentriert sich auf die ...
Eine Geschichte über die Datenbankleistung Währen...
Inhaltsverzeichnis 1 Bewertung 2 Fünf Strategien ...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikelbeispiel wird der spezifische Co...
Heute zeige ich Ihnen einen Neon-Button-Animation...
Inhaltsverzeichnis Methoden des String-Objekts Me...
1 Erstellen Sie einen Benutzer und geben Sie den ...
Inhaltsverzeichnis 1. Listendurchlauf 2. Die Roll...
<meta name="viewport" content="...