[GAS]2つのObjectArrayを融合させる方法について

GAS

どうも櫻庭です。今回2つの連想配列(ObjectArray)を融合させて1つのObjectArrayとする方法について記載していきます。

今回融合するObjectArrayは?

今回融合するObjectArrayは以下とします。

const array1 = [
{name1: "juyondai",
sakamai1 : "sakemirai"},
{name2: "jikon",
sakama2 : "omachi"}
];

const array2 = [
{name2: "aramasa",
sakamai2 : "yamadanishiki"},
{name3: "kamikawa",
sakamai3 : "ginpu"}
];

concat()メソッドを使用

concat()メソッドは通常の配列を融合させる際に使用するのが一般的だと思うのですが、

ObjectArrayを融合させたい時にも有効です。

const newArray = array1.concat(array2);
console.log(newArray)

Result:
[ { name1: 'juyondai', sakamai1: 'sakemirai' },
  { name2: 'jikon', sakama2: 'omachi' },
  { name2: 'aramasa', sakamai2: 'yamadanishiki' },
  { name3: 'kamikawa', sakamai3: 'ginpu' } ]

スプレッド構文を使った方法を紹介

今回は↑スクリプトで出てきた2つの配列(array1とarray2)をスプレッド構文を使って融合させる方法を紹介します。

const newArray = [...array1,...array2]
console.log(newArray)
Result:
[ { name1: 'juyondai', sakamai1: 'sakemirai' },
  { name2: 'jikon', sakama2: 'omachi' },
  { name2: 'aramasa', sakamai2: 'yamadanishiki' },
  { name3: 'kamikawa', sakamai3: 'ginpu' } ]

このように「[…配列1, …配列2]」とすることで、concat()メソッド同様ObjectArrayを融合させることができます。

まとめ

データ処理をする上でタイプAで処理したObjectArray、

タイプBで処理したObjectArrayがそれぞれ存在していて、その2つのObjectArrayを融合させたい場面が出てくると思います。 そのような際にはこのconcat()メソッド、スプレッド構文は非常に便利なので覚えておくのがオススメです。

Comments

Copied title and URL