【GAS】配列内の文字列を結合する方法(一次元配列・二次元配列)

GASArray.flat,Array.map,join

Google Apps Script(GAS)で配列内の文字列を結合する場合、配列の構造(一次元配列か二次元配列か)に応じて複数の手法をとることができます。それぞれの結合方法を理解して必要に応じて使い分けられるようにしましょう。

一次元配列も二次元配列も基本的にはjoinメソッドを用いて要素同士を結合します。

配列と文字列に関する処理方法は下記の記事も参考にしてみてください。

一次元配列の文字列結合

シンプルな結合

一次元配列の文字列を結合する基本的な方法は、joinメソッドを用いることです。joinメソッドは配列の各要素を指定した区切り文字で結合し、新しい文字列を作成します。引数に何も指定しないとカンマ(,)で結合されます。

const fruits = ['りんご', 'バナナ', 'みかん'];
console.log(fruits.join()); // りんご,バナナ,みかん

区切り文字なしで結合

要素を区切り文字なしで直接連結したい場合は、joinメソッドの引数に空文字列を指定することができます。

console.log(fruits.join('')); //りんごバナナみかん

改行での結合

配列の各要素を改行文字で結合し、リスト形式の文字列を生成したい場合は、\n を使用します。

console.log(fruits.join('\n'));
/*
 りんご
 バナナ
 みかん
*/

二次元配列の文字列結合

基本的な結合方法(Array.mapとjoinメソッド)

二次元配列では、外側の配列を結合するために、まず各内側の配列を文字列に変換してから結合する必要があります。Array.mapjoinメソッドを組み合わせて使用します。

const data = [['果物', '年齢'], ['りんご', 30], ['バナナ', 28]];
console.log(data.map(row => row.join(', ')).join('\n'));
/* 
 果物, 年齢
 りんご, 30
 バナナ, 28
 */

全要素をカンマで連結(Array.flatメソッドとjoinメソッド)

二次元配列の全要素をフラットにしてからカンマで結合したい場合は、Array.flatメソッドを使用して配列を一次元化し、その後でjoinメソッドを適用します。

console.log(data.flat().join(', ')); //果物, 年齢, りんご, 30, バナナ, 28

二種類の区切り文字を使用

行内の要素をカンマで、行間を改行で区切りたい場合、先に行内の要素を結合し、その後で行間を結合します。

console.log(data.map(row => row.join(', ')).join('\n'));

まとめ

Google Apps Script(GAS)を利用して配列内の文字列を結合する方法は、一次元配列や二次元配列にかかわらず、多岐にわたる手法で実現可能です。

本記事では、join メソッドを用いた基本的な結合から、改行やカンマを用いた区切りでの結合、二次元配列を扱う際の複数の区切り文字を使用した結合方法までを紹介しました。これらを駆使することで、GASにおける配列操作の幅が大きく広がります。無駄なループ処理を避け、コードの可読性を保ちながら効率的なデータ処理を実現するために、適切な結合方法を選択しましょう。

  • 一次元配列の文字列結合
    • join メソッドを使用した基本的な結合
    • 区切り文字なしでの結合(join(")を使用)
    • 改行を用いた結合(join('\n’)を使用)
  • 二次元配列の文字列結合
    • 各行をカンマで結合後、行間を改行で結合(map と join メソッドの組み合わせ)
    • 二次元配列をフラットにして全要素をカンマで結合(flatメソッドと joinメソッドを使用)
    • 二次元配列の全要素を同じ区切り文字で結合
    • 二次元配列で二つの区切り文字(カンマと改行など)を使用した結合
この記事を書いた人

てつお
広告代理店出身、事業会社でWebマーケティングや開発の仕事をしている26歳です。プロフィール詳細はこちら
■Google広告認定資格|Google アナリティクス個人認定資格(GAIQ)|TOEIC920点