JavaScriptで文字列をスネークケースに変換する方法
本記事では、文字列を受け取ってスネークケース(snake case)に変換するJavaScript関数の実装方法を解説します。
スネークケースとは?
スネークケースとは、文字列中のスペースをアンダースコア「_」に置き換え、すべての単語を小文字で表記する書き方のスタイルです。主にプログラミングにおける変数名やファイル名などでよく利用されています。
例えば、「This is a simple sentence」という文字列は、スネークケースに変換すると「this_is_a_simple_sentence」になります。
実装例
以下が実際のコードです。
const str = 'This is a simple sentence';
const toSnakeCase = (str = '') => {
const strArr = str.split(' ');
const snakeArr = strArr.reduce((acc, val) => {
return acc.concat(val.toLowerCase());
}, []);
return snakeArr.join('_');
};
console.log(toSnakeCase(str));実行結果
コンソールには以下のように出力されます。
this_is_a_simple_sentence
コードの解説
この関数の処理の流れは以下の通りです。
まず、split(' ') を使って元の文字列をスペースで分割し、単語ごとの配列を作成します。次に、reduce() メソッドを使って各単語を toLowerCase() で小文字に変換しながら新しい配列を組み立てます。最後に、join('_') で配列の要素をアンダースコアで連結し、スネークケースの文字列として返しています。
このように、標準的な配列メソッドを組み合わせるだけで、シンプルかつ読みやすいコードでスネークケースへの変換を実現できます。
-
JavaScriptで各単語に含まれる数字をもとに文字列を並べ替える方法
問題文を表す文字列を引数として受け取り、その内容を並べ替えた結果を返すJavaScript関数を作成する必要があります。文中の各単語には必ず1つの整数が含まれています。この関数では、最も小さい数値を持つ単語を先頭に置き、残りの単語も数値の昇順に並ぶように文字列全体を並べ替えます。コード例以下が実際の実装コードです。 { return findNumber(a) - findNumber(b); }; arr.sort(sorter); return arr.join( ); }; console.log(sortByNumber(str));出力結果Th
-
JavaScriptで文字列内のアルファベットだけを反転する方法
問題の概要JavaScriptで、アルファベットといくつかの特殊文字(記号)が混在する文字列 str を受け取る関数を作成することを求められています。この関数は、入力文字列をもとに新しい文字列を返します。その際のルールは次のとおりです。アルファベット以外の文字(記号・数字など)は、元の位置にそのまま留まります。アルファベットの文字だけが、互いに反転した位置へ移動します。入力例と出力例たとえば、関数への入力が以下だった場合を考えてみましょう。入力const str = k_lmn_opq;出力const output = q_pon_mlk;「_」という記号は位置が変わっておらず、アルファベット