JavaScriptで文字数が偶数の単語だけを反転させる方法
本記事では、文字列を受け取り、その中に含まれる「文字数が偶数」の単語だけを反転させるJavaScript関数の作成方法を解説します。
処理の内容
たとえば、次のような文字列があるとします。
const str = 'This is an example string';
この文字列の中で文字数が偶数になっているのは、以下の4つの単語です。
This is an string
これらの単語のみを反転させ、奇数文字で構成される "example" はそのまま残します。
実装コード
const str = 'This is an example string';
const isEven = str => !(str.length % 2);
const reverseEvenWords = (str = '') => {
const strArr = str.split(' ');
return strArr.reduce((acc, val) => {
if(isEven(val)){
acc.push(val.split('').reverse().join(''));
return acc;
 };
acc.push(val);
return acc;
}, []).join(' ');
};
console.log(reverseEvenWords(str));
コードのポイント
- isEven:文字列の長さを2で割った余りが0かどうかを判定し、偶数であれば true を返します。
- split(' '):文字列をスペース区切りで分割し、単語の配列に変換します。
- reduce():各単語を順番に処理し、偶数の単語だけを反転させた新しい配列を作成します。
- split('').reverse().join(''):単語を1文字ずつに分解し、逆順に並べ替えてから再び結合することで反転を実現します。
- join(' '):処理後の配列をスペースで連結し、元の形式の文字列に戻します。
出力結果
コンソールには以下のように出力されます。
sihT si na example gnirts
"This"、"is"、"an"、"string" の4つの偶数文字の単語が正しく反転され、"example" はそのまま出力されていることが確認できます。このように split・reduce・reverse を組み合わせることで、条件に合う単語だけを簡潔に操作できます。
-
【Java入門】文字列から偶数の長さの単語だけを抽出して出力する方法
この記事では、Javaを使って文字列の中から偶数の長さの単語だけを抽出し、出力する方法について詳しく解説します。 String(文字列)は、1つ以上の文字で構成され、ダブルクォーテーション( )で囲まれたデータ型です。一方、char型はアルファベット・整数・特殊文字など、単一の文字を格納するためのデータ型です。文字列処理の基本を理解するうえで、この違いを押さえておくことが重要です。 処理の流れ(実行イメージ) 以下に具体的な例を示します。 入力文字列: Java Programming are cool 期待される出力: 偶数の長さの単語: Java cool この例では、「Programmi
-
文字列の中から偶数の長さの単語を出力するPythonプログラム
本記事では、与えられた問題を解決するための考え方と実装方法について解説します。Pythonの基本的な文字列操作を組み合わせることで、初心者の方でも簡単に実装できる内容となっています。 問題文 文字列が与えられたとき、その中に含まれる単語のうち、文字数が偶数であるものをすべて画面に表示するプログラムを作成します。 例えば、「tutorial point」という文字列が入力された場合、「tutorial」は8文字(偶数)なので出力され、「point」は5文字(奇数)なので出力されません。 解決のアプローチ この問題は、以下の手順で解決できます。 split()関数を使って、入力文字列を空白区切り