在 JavaScript 中,您可以通过多种方式合并多个对象。最常用的方法是展开运算符...和Object.assign()函数。
首先,我们将使用扩展运算符来完成此任务,因为它是最有效的方法。让我们从以下对象开始:
const brand1 = {'a': 'Fiat', 'b': 'Seat'};
const brand2 = {'c': 'Renault'};
const brand3 = {'d': 'Ford'};
扩展运算符由三个点表示...,用于分隔对象内的元素。要将这些对象合并为一个,我们必须执行以下操作:
const finalBrand = {...brand1, ...brand1, ...brand1};
如果我们执行 console.log(finalBrand) 我们将得到以下结果:
a: Fiat
b: Seat
c: Renault
d: Ford
我们获得的对象finalBrand是用其他对象的副本创建的新对象,因此我们可以修改对象marks1,marks2而marks3不必担心这个对象会受到影响。
但是,如果对象包含在对象marks1、marks2或内marks3,则不会创建这些对象的副本,但将复制它们的引用。也就是说,扩展运算...符只会创建顶级元素的副本。
复制对象的另一种可能方法是使用该Object.assign()函数,它将所有属性从一个对象复制到另一个对象。如果您将元素复制到的对象已包含属性,则复制的属性将添加到这些属性中,并且如果它们具有相同的名称,则新属性将始终具有优先级。
这是一个例子:
const brand1 = { a: 'Nissan', b: 'Fiat' };
const brand2 = { b: 'Mercedes', c: 'Ford' };
Object.assign(brand1, brand2);
console.log如果我们现在对对象进行操作mark1,我们将得到以下结果:
a: Nissan
b: Mercedes
c: Ford
正如您所看到的,我们复制的对象的 b 属性(其值为 Mercerces)具有优先级。
5 天前