【JavaScript入門】文字列内の各単語を逆順に反転させる方法
はじめに
JavaScriptでは、文字列を受け取り、その文字列に含まれるすべての単語をそれぞれ逆順に並べ替えた新しい文字列を返す関数を作成できます。本記事では、split()・map()・reverse()・join() を組み合わせたシンプルで分かりやすい実装方法を紹介します。
処理内容の例
例えば、次のような文字列が与えられたとします。
const str = 'this is a sample string';
この場合、期待される出力は以下のとおりです。
const output = 'siht si a elpmas gnirts';
ポイントは、単語の並び順(this → is → a …)は元のまま維持され、各単語の中の文字だけが逆順になっていることです。
実装コード
この処理を実現するコードは以下のとおりです。
const str = 'this is a sample string';
const reverseWords = str => {
let reversed = '';
reversed = str.split(" ")
.map(word => {
return word
.split("")
.reverse()
.join("");
})
.join(" ");
return reversed;
};
console.log(reverseWords(str));
コードの解説
このコードの動作は、以下の手順に分解して理解できます。
- str.split(" "):元の文字列をスペース区切りで配列に分割します(例:['this', 'is', 'a', 'sample', 'string'])。
- .map(word => ...):分割された各単語に対して、同じ変換処理を適用します。
- word.split("").reverse().join(""):単語を1文字ずつに分解し、
reverse()で順序を反転させた後、join("")で再び連結して1つの単語に戻します。 - .join(" "):反転済みの単語たちをスペースで連結し、最終的な文字列として組み立てます。
実行結果
コンソールには以下のように出力されます。
siht si a elpmas gnirts
まとめ
文字列を split() で分割し、map() の中で各単語を reverse() によって反転させ、最後に join() で連結するだけで、文字列内のすべての単語を簡単に逆順にできます。メソッドチェーンを活用することで、簡潔かつ読みやすいコードを実現できるので、ぜひ実務でも活用してみてください。
-
JavaScriptで文字列内の2つの単語の先頭文字を入れ替える方法
問題 今回は、スペースで区切られた2つの単語からなる文字列を引数として受け取るJavaScript関数を作成します。 この関数の目的は、それぞれの単語の先頭文字(1文字目)を互いに入れ替えた新しい文字列を構築し、それを返すことです。 たとえば「hello world」という入力に対しては、先頭の「h」と「w」を交換して「wello horld」を出力する必要があります。 コード例 以下が実際のコードです。 const str = hello world; const interchangeChars = (str = ) => { const [first, second]
-
JavaScriptで文字列内のアルファベットだけを反転する方法
問題の概要JavaScriptで、アルファベットといくつかの特殊文字(記号)が混在する文字列 str を受け取る関数を作成することを求められています。この関数は、入力文字列をもとに新しい文字列を返します。その際のルールは次のとおりです。アルファベット以外の文字(記号・数字など)は、元の位置にそのまま留まります。アルファベットの文字だけが、互いに反転した位置へ移動します。入力例と出力例たとえば、関数への入力が以下だった場合を考えてみましょう。入力const str = k_lmn_opq;出力const output = q_pon_mlk;「_」という記号は位置が変わっておらず、アルファベット