【JavaScript】文字列をカンマで分割し、前後の空白を削除する方法
JavaScriptでカンマ区切りの文字列を配列に分割し、さらに各要素の前後にある余分な空白を取り除きたい場面はよくあります。この記事では、split()メソッドとtrim()メソッドを組み合わせた実装方法を、サンプルコードと実行結果つきでわかりやすく解説します。
処理の流れ
文字列をカンマで分割するには split() を使用し、前後の空白を削除するには trim() を使用します。まずは、カンマと空白が混在した次のような文字列を例に考えてみましょう。
var sentences = " John , David , Bob , Mike, Carol ";
この文字列を split(",") でカンマごとに分割すると配列になりますが、そのままでは各要素に不要な空白が残ってしまいます。そこで map() を使って配列の各要素に trim() を適用することで、きれいなデータを取得できます。
サンプルコード
以下が実際のコードです。
var sentences = " John , David , Bob , Mike, Carol ";
console.log("元の値=" + sentences);
var result = sentences.split(",").map(function (value) {
return value.trim();
});
console.log("変更後の値=")
console.log(result);
プログラムを実行するには、次のコマンドを使用します。
node fileName.js.
ここでは、ファイル名を「demo235.js」としています。
実行結果
上記コードの出力は以下のとおりです。
PS C:\Users\Amit\javascript-code> node demo235.js 元の値= John , David , Bob , Mike, Carol 変更後の値= [ 'John', 'David', 'Bob', 'Mike', 'Carol' ]
実行結果からわかるように、split()でカンマごとに分割した後、trim()によって各要素の前後の空白がすべて削除され、['John', 'David', 'Bob', 'Mike', 'Carol']という整形された配列が得られます。
補足:より簡潔に書く方法
アロー関数を使えば、同じ処理をさらに短く記述できます。
const result = sentences.split(",").map(value => value.trim());
また、ES2019以降の環境であれば trimStart() や trimEnd() を使えば、先頭・末尾どちらか片方だけの空白を削除することも可能です。用途に応じて使い分けるとよいでしょう。
-
【JavaScript】配列から指定した数値を削除し、残りの要素を左にシフトする方法
今回は、数値の配列を第1引数に、削除したい数値を第2引数に受け取るJavaScript関数を作成します。この関数は、第2引数で指定された数値が配列内に存在する場合、その要素を取り除き、それより右側にあるすべての要素を1つずつ左へシフトする必要があります。唯一の条件は、slice() や splice() をはじめとする配列操作系の組み込みメソッドを使用してはいけないという点です。また、同じ数値が配列内に複数存在する場合は、最初に出現したものだけを削除します。処理内容の例たとえば、入力配列が次のような場合を考えてみましょう。const arr = [3, 5, 6, 3, 7, 8, 8, 6]
-
JavaScriptで空白と単語の順序を保持しながら各単語を反転する方法
はじめに本記事では、文字列を引数として受け取り、その中の各単語の文字順を反転させながら、空白の位置と元の単語の順序はそのまま保持するJavaScript関数の作成方法を解説します。課題の概要作成する関数は、文章を表す文字列 str を第1引数(唯一の引数)として受け取ります。この関数は、文中の各単語に含まれる文字の並びを逆順にします。ただし、空白の位置や単語が出現する順序自体は変えずに維持する必要があります。入出力例たとえば、次の文字列を入力した場合を考えてみましょう。const str = this is some sample string;この場合、期待される出力は以下の通りです。con