Javascript逆文字列

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

新進のソフトウェアエンジニアやWeb開発者として取り組む最初のコード/アルゴリズムの課題の1つは、文字列を逆にする方法を理解できるかどうかを確認することです。チェーンは文字とスペースの単なるコレクションであることを忘れないでください。たとえば、「Hello Everyone!」という文字列を逆にしようとする必要があります。 "そして戻る"! EDNOM olleH、"。この問題を修正する方法はいくつかありますが、この記事ではその一部について説明します。

文字列を反転して返す関数ReverseStringを記述します。反転する文字列は、関数の引数として提供されます。

ソリューションn。 1:ループするには

最初の、おそらく最も簡単な解決策の1つは、ループを使用してチェーンに戻ることです。文字列内の各文字を渡す新しい反転文字列を含む変数をインスタンス化または作成する必要があります。

i を最後のインデックス(文字列の長さの1を取るときに計算されます)に割り当てます。これが初期化ですそしてそれは私たちが見る最初の手がかりとして役立つでしょう。ループの2番目の部分は、ループを停止するタイミングを指示する state 、áíです。ループの3番目の最後の部分は、ループが完了し、条件がまだ真である後、iが増加 する量です。I-基本的にiを取得し、次の場所に再割り当てします。 --1;

各反復をループするときに、各str[i]文字を取得してnewStrに追加します。次に、ループの外側でnewStrに戻り、関数を終了します。

コードエディタで試してみてください:

ソリューションn。 2:

JavaScriptのES6JavaScriptマップメソッドには、 mapと呼ばれるES6の新機能である配列メソッドが組み込まれています。これは、指定された値を持つ新しい配列を返します。 mapメソッドには、現在の要素、要素インデックス、および元の配列のコピーの3つのパラメーターがあります。ソリューションでは最後の2つのパラメーターを使用します。

最初に行う必要があるのは、分割することです。 split()メソッドを使用して文字列を配列に変換します。空の文字列で分割すると、メソッドはすべての文字を含む配列を提供します。したがって、上記の新しい範囲をアラカルトで使用します。

since基本的にスワップインデックスが必要です。現在のインデックスで設定する文字のヒントを理解する必要があります。これが返される文字になります。

これを行うには、の長さを求めます。配列から1を引いたものは、ゼロベースの配列であるため、現在のインデックスの位置を減算します。戻ってくる配列[swapIndex]は、基本的に現在のインデックスの代わりになります。これにより、反転した配列が得られます。文字列内の文字。

最後に行う必要があるのは配列を文字列に結合して返します。

コードエディタでソリューションをテストします!

重要なことマップは新しい配列を返すことを忘れないでください。したがって、渡された元のstr/配列は変更しません。

< h4>ソリューション#3:組み込みのJavaScriptメソッド

このコードの問題を解決するこのメソッドは、組み込みの関数/メソッドを使用します split() reverse()join()を使用して、このワンライナーで解決します。

以下のコードを実行して、それから個人的にテストしてみてください。

基本的に、組み込みの reverse()は、内部で card()(以前のソリューションで説明した方法)です。 しかし、新しい配列を返すのではなく、元の配列を変更して、所定の位置に反転させます。問題を解決していますが、それよりも大きい場合は、必要に応じて元のテーブルにアクセスできるように、元のテーブルのコピーを作成する必要があります。

これらはこれを修正するための決定的な方法のみ-これらは、この実験を修正し、以下のコードエディタで他の解決策を見つけることができるかどうかを確認するための最も一般的な方法のほんの一部です-上記の.. ReverseString()と、画面に表示したい場合は他に何もありません。