JavaScript 配列から文字列への変換
JavaScriptでは、配列を文字列に変換する方法として、array.toString()
とarray.toLocaleString()
の2つのメソッドが利用できます。本記事では、これらのメソッドの使い方を詳しく解説し、多くの例を交えて説明します。
array.toString() の詳細と例
array.toLocaleString() の詳細と例
array.toString() の詳細と例
toString()
メソッドは、配列の要素をカンマ区切りの文字列として返します。このメソッドはすべての配列に対してデフォルトで利用可能で、ロケールやフォーマットオプションは適用されません。
基本構文:
array.toString()
例:
- 単純な数値の配列
const numbers = [1, 2, 3, 4];
console.log(numbers.toString()); // 出力: "1,2,3,4"
const fruits = ["apple", "banana", "cherry"];
console.log(fruits.toString()); // 出力: "apple,banana,cherry"
const nestedArray = [1, 2, [3, 4]];
console.log(nestedArray.toString()); // 出力: "1,2,3,4"
const emptyArray = [];
console.log(emptyArray.toString()); // 出力: ""
toString()
メソッドは、join()
メソッドのデフォルト動作と似ていますが、区切り文字を指定するオプションはありません。
array.toLocaleString() の詳細と例
toLocaleString()
メソッドは、配列の各要素をロケールやフォーマットオプションを考慮して文字列に変換し、カンマ区切りの文字列として返します。特に、日付や数値などのロケール依存のデータを扱う際に役立ちます。
基本構文:
array.toLocaleString([locales[, options]])
引数:
locales
(省略可能): 使用するロケールを指定する文字列または文字列の配列。options
(省略可能): 数値や日付をフォーマットするためのオプションオブジェクト。
例:
- 数値のフォーマット
const numbers = [123456.789, 98765.432];
console.log(numbers.toLocaleString("ja-JP")); // 出力: "123,456.789,98,765.432"
console.log(numbers.toLocaleString("de-DE")); // 出力: "123.456,789,98.765,432"
const dates = [new Date("2025-01-19"), new Date("2023-12-25")];
console.log(dates.toLocaleString("ja-JP")); // 出力: "2025/1/19 0:00:00,2023/12/25 0:00:00"
console.log(dates.toLocaleString("en-US")); // 出力: "1/19/2025, 12:00:00 AM,12/25/2023, 12:00:00 AM"
const numbers = [123456.789, 98765.432];
const options = { style: "currency", currency: "USD" };
console.log(numbers.toLocaleString("en-US", options)); // 出力: "$123,456.79,$98,765.43"
const emptyArray = [];
console.log(emptyArray.toLocaleString()); // 出力: ""
toLocaleString()
は、要素が数値や日付オブジェクトである場合に特に便利で、ロケールに応じた適切なフォーマットを提供します。
まとめ
JavaScriptのarray.toString()
とarray.toLocaleString()
は、配列を文字列に変換するための便利なメソッドです。シンプルな文字列化にはtoString()
を、ロケール依存のフォーマットを考慮した文字列化にはtoLocaleString()
を使い分けると良いでしょう。