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
// }