JavaScript jsonの複数の要素を一括で別のjsonに設定する
JavaScriptのjsonの要素を別のjsonに設定したいとき、1つづつ代入するのではなく、全項目を一気に設定する方法を紹介します。
例えば以下のオブジェクトobjAとobjBがあるとします。
const objA = {
id: 1,
name: 'リンゴ',
price: 200
};
const objB = {
id: 2,
name: 'バナナ',
price: 100,
amount: 5
}objAにobjBの値を設定したいときは、Object.assignを使用します。
Object.assign(objA, objB);
console.log(objA);
// 出力結果
// {
// id: 2,
// name: 'バナナ',
// price: 100,
// amount: 5
// }Object.assignで複数のオブジェクトをマージできます。
一部のみマージする
例えば上記の例で、idは上書きしたくない場合は、JavaScript jsonのオブジェクトから要素を削除するで紹介した方法で、マージ元のobjBのid要素を削除しておきます。
delete objB.id;
Object.assign(objA, objB);
console.log(objA);
// 出力結果
// {
// id: 1,
// name: 'バナナ',
// price: 100,
// amount: 5
// }