原因このブログを書いた理由は、今日Leetcodeの日課問題をやっていたからです。文字列を整数(atoi)に変換する問題です。興味がある方はタイトルをクリックして詳しい説明をご覧ください。何度もデバッグしてようやく正常に送信できたので、コメント欄で専門家の解決策を見ました。読んでみて、JavaScript の parseInt() がこんなに優れているとは、とため息をつくしかありませんでした。これは真実を物語っています。私たちが非常によく知っていると思っている API も、実際には私たちが完全に使いこなしているわけではない可能性があるのです。 ” 私の答え/** * @param {文字列} 文字列 * @return {数値} */ var myAtoi = 関数(str) { str = str.trim(); //文字列の最初の文字をインターセプトします var firstChar = str.charAt(),res = '',regSymbol = /^[\-\+]{1}/,regNumber = /^[0-9]{1}/; if(!regSymbol.test(firstChar) && !regNumber.test(firstChar)){ 0を返します。 } //最初の文字は + または - です if(regSymbol.test(firstChar)){ var sliceStr = str.slice(1,str.length); for(var i=0;i<sliceStr.length;i++){ if (regNumber.test(sliceStr.charAt(i))) { res += sliceStr.charAt(i); }それ以外{ 壊す; } } (res.length) ? res = parseInt(firstChar + res) : res = 0; if(firstChar == '-' && res < Math.pow(-2,31)){ 引数は Math.pow (-2,31) です。 } if(firstChar == '+' && res > Math.pow(2,31) - 1){ 2,31 の整数乗は 1 です。 } res を返します。 } //最初の文字は数字です if (regNumber.test(firstChar)) { var スライスStr = str; for(var i=0;i<sliceStr.length;i++){ if (regNumber.test(sliceStr.charAt(i))) { res += sliceStr.charAt(i); }それ以外{ 壊す; } } (parseInt(res) > Math.pow(2,31) - 1)の場合{ 2,31 の整数乗は 1 です。 } res を返します。 } }; 上司からの答え/** * @param {文字列} 文字列 * @return {数値} */ var myAtoi = 関数(str) { 定数数値 = parseInt(str, 10); if(isNaN(数値)) { 0を返します。 } そうでなければ、(数値 < Math.pow(-2, 31) || 数値 > Math.pow(2, 31) - 1) { Math.pow(-2, 31) ? Math.pow(-2, 31) : Math.pow(2, 31) - 1 未満の数値を返します。 } それ以外 { 戻り番号; } }; 比較すると、JavaScript の parseInt() は、空の文字列をインターセプトし、最初の文字を判断し、数値型の結果を返すなどの一連の操作を実行していることがわかります。ちょうど今日の毎日の質問にぴったりです。parseInt() を使用してこの問題を解決するのはとてもクールです。 JavaScript の parseInt() の素晴らしい使い方についての記事はこれで終わりです。JavaScript parseInt() に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。皆様が今後も 123WORDPRESS.COM を応援してくれることを願っています。 以下もご興味があるかもしれません:
|
<<: 冗長カーネルを削除するLinuxディープインの実装方法
>>: MySQL でコミットされていないトランザクション情報を見つける方法
目次チュートリアルシリーズ1. ユーザー管理1. ユーザーアカウント2. アカウントの追加と削除3....
Navicat クライアントを通じてデフォルトの日時値を変更する際に問題が発生しました。データベース...
0x0 テスト環境本社本番サーバーと支社バックアップサーバーはリモートデータバックアップが必要です...
まず、MySQL InnoDB エンジンのストレージ形式に関する重要なポイントをいくつか紹介します。...
Dreamweaver8 を使用して独自の Web サイトを作成する目的は何ですか?インターネットに...
最初のステップは、対応するデータベースモジュール(sql)をプロジェクトファイル( .pro )に追...
実稼働環境で Docker を使用する場合、多くの場合、データを複数のコンテナ間で永続化または共有す...
目次1. グループクエリの概略図2. groupbyキーワード構文の詳細な説明3. 簡単なグループク...
この記事の例では、ボタンをクリックすることで4桁のランダムな検証コードを生成するjsの具体的なコード...
問題の説明: 非同期リクエストの数が不確定な場合、数百の http リクエストが瞬時に発生したときに...
MySQL のインストールは、インストール バージョンと解凍バージョンに分かれています。インストール...
この記事では、CSS3 を使用して中心点を中心に要素をレイアウトする方法の例を紹介します。詳細は次の...
dockerの登場により、多くのサービスが徐々にハードウェアアーキテクチャへの依存から脱却しました。...
1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。...
目次オブザーバーパターンVue パス値最初のステップは、main.jsにバスを登録することです。 2...