JavaScriptで文字列内のすべての単語を逆順にする方法
本記事では、文字列を受け取り、元の文字列に含まれるすべての単語を逆順に並べ替えた新しい文字列を返すJavaScript関数の作成方法を解説します。
要件の確認
まず、具体的な例で動作を確認しましょう。次のような元の文字列があったとします。
"Hello World how is it outside"
この場合、期待される出力は以下の通りです。各単語内の文字の順序が反転しますが、単語自体の並び順(位置)は元のまま維持されます。
"olleH dlroW woH si ti edistuo"
実装の考え方
この処理は、以下の手順で実現できます。
- split(" "):文字列をスペースで分割し、単語ごとの配列を作成する
- map():配列の各単語に対して反転処理を適用する
- split('').reverse().join(''):各単語を1文字ずつに分解し、順序を逆にしてから再結合する
- join(" "):処理後の単語をスペースで連結し、最終的な文字列を生成する
コード例
それでは、実際のコードを見ていきましょう。
const str = 'Hello World how is it outside';
const reverseSentence = str => {
const arr = str.split(" ");
const reversed = arr.map(el => {
return el.split('').reverse().join("");
});
return reversed.join(" ");
};
console.log(reverseSentence(str));
出力結果
このコードを実行すると、コンソールには以下のように出力されます。
olleH dlroW woh si ti edistuo
このように、split()・map()・reverse()・join() を組み合わせることで、簡潔かつ読みやすいコードで各単語の反転処理を実装できます。文章全体の単語順は保ちながら、単語ごとに文字を逆順にしたいケースでぜひ活用してください。
-
C++で文字列内の単語を逆順に並べ替える方法
問題の概要 複数の単語からなる文字列が与えられたとき、その文字列内の単語の並び順を逆にすることを考えます。たとえば、入力文字列が「The quick brown fox jumps over a lazy dog」であれば、出力は「dog lazy a over jumps fox brown quick The」となります。 解き方のアプローチ この問題は、以下の手順で解くことができます。 getString() 関数を定義します。引数として文字列 s を受け取り、次のように動作します。 i := 0、j := s のサイズ − 1 で初期化します。 s[i] が空白であり、かつ i が
-
C#で文字列内の単語を逆順に反転させるプログラムの書き方
C#では、LINQのReverse()メソッドを活用することで、文字列内の各単語を簡単に逆順に反転させることができます。本記事では、具体的なサンプルコードとともにその実装方法を解説します。処理の概要まず、例として次のような文字列を用意します。Hello Worldこの文字列に対して各単語を反転させると、結果は次のようになります。olleH dlroWこのように、単語の区切り位置はそのまま維持しつつ、それぞれの単語の中身だけが逆順になっている点がポイントです。サンプルコードSplit()メソッドで文字列を単語ごとに分割し、Select()内でReverse()を使って各単語を反転させています。最