最近使って、この書き方は忘れそうだと思ったので備忘録兼、いつかのためのコピー&ペースト元としてまとめ。
タイトル通り、連想配列を結合する方法についてです。
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 で連想配列を結合する方法でした。
あまり頻繁に行う処理ではないと思いますが、ご参考になれば幸いです。