オブジェクトを結合するassignメソッド
assignメソッドを使うことにより、複数のオブジェクトをマージすることが出来ます。
js
Object.assing(マージ先obj,マージ元obj1, マージ元obj2...);
js
let obj1 = {
name:`tamanegi`,
price:100
};
let obj2 = {
group:'vegetable',
from: 'japan'
};
let obj3 = {
market:'seiyu'
}
Object.assign(obj1,obj2,obj3);
console.log(obj1);
実行結果
{ name: 'tamanegi',
price: 100,
group: 'vegetable',
from: 'japan',
market: 'seiyu' }
この方法だとobj1
はマージ後の状態になってしまうので、元々のobj1は取り出せなくなってしまいます。
元々のobj1を残しつつ、マージ後のobjectを別に保持したい場合は、以下のように記述します。
元のオブジェクトを残しておきたい場合。
js
let obj1 = {
name:`tamanegi`,
price:100
};
let obj2 = {
group:'vegetable',
from: 'japan'
};
let obj3 = {
market:'seiyu'
}
let merged = Object.assign({},obj1,obj2,obj3);
console.log(obj1);
console.log(merged);
実行結果
{ name: 'tamanegi', price: 100 }
{ name: 'tamanegi',
price: 100,
group: 'vegetable',
from: 'japan',
market: 'seiyu' }