zukucode
主にWEB関連の情報を技術メモとして発信しています。

JavaScript jsonの複数の要素を一括で別のjsonに設定する

JavaScriptjsonの要素を別のjsonに設定したいとき、1つづつ代入するのではなく、全項目を一気に設定する方法を紹介します。

例えば以下のオブジェクトobjAobjBがあるとします。

const objA = {
  id: 1,
  name: 'リンゴ',
  price: 200
};

const objB = {
  id: 2,
  name: 'バナナ',
  price: 100,
  amount: 5
}

objAobjBの値を設定したいときは、Object.assignを使用します。

Object​.assign(objA, objB);

console.log(objA);
// 出力結果
// {
//   id: 2,
//   name: 'バナナ',
//   price: 100,
//   amount: 5
// }

Object​.assignで複数のオブジェクトをマージできます。

一部のみマージする

例えば上記の例で、idは上書きしたくない場合は、JavaScript jsonのオブジェクトから要素を削除するで紹介した方法で、マージ元のobjBid要素を削除しておきます。

delete objB.id;

Object​.assign(objA, objB);

console.log(objA);
// 出力結果
// {
//   id: 1,
//   name: 'バナナ',
//   price: 100,
//   amount: 5
// }

関連記事