【JavaScript】連想配列(オブジェクト)を結合する

最近使って、この書き方は忘れそうだと思ったので備忘録兼、いつかのためのコピー&ペースト元としてまとめ。
タイトル通り、連想配列を結合する方法についてです。
push() を使って配列にデータを追加する、という作業はよく使うのですが、連想配列を結合するのは、そう言えばやったことがなかったかもしれません。

参考にさせていただいた記事はこちらから。

【JavaScript】オブジェクト(連想配列)を結合する – Qiita
https://qiita.com/kou_pg_0131/items/16c63879be55b85387aa

 

サンプルコードはこちら。

const obj1 = { a: 1, b: 2, c: 3 };
const obj2 = { d: 4, e: 5, f: 6 };

const result1 = Object.assign(obj1, obj2);

Object.assign() を使えば、連想配列同士を結合できるとのこと。
なお、もし結合する配列内に重複があった場合、第二引数のデータで上書きされるとのことでした。

または、下記のような書き方でも結合できるみたいです。

const obj1 = { a: 1, b: 2, c: 3 };
const obj2 = { d: 4, e: 5, f: 6 };

const result1 = { ...obj1, ...obj2 };

スプレッド構文を使用した方法とのことですが…個人的にはちょっと何をやっているかわかりにくくて、後からコードを読み直した時に苦労しそうだなと感じてしまいました。
個人的には、1つ目の方法の方が、わかりやすいかなと思います。

 

ちなみに、若干蛇足になりそうですが、配列を結合する場合は下記のように書きます。

let array1 = [1,2,3];
let array2 = [4,5,6];

let array3 = array1.concat(array2);

.concat() を使います。
array1 という配列に array2 という配列をくっつけて array3 という新しい配列に格納する、という処理を行っています。
なお、結合を行っても、結合元の配列には影響はありません。
これも一緒に覚えておくと良さそうですね。

 

以上、JavaScript で連想配列を結合する方法でした。
あまり頻繁に行う処理ではないと思いますが、ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG