首页 小组 问答 话题 好文 素材 用户 唠叨 我的社区

[教程]如何在 JavaScript 中组合多个对象

小蜗锅Lv.1普通用户
2024-10-17 20:54:12
0
6

在 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()复制对象

复制对象的另一种可能方法是使用该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 天前

签名 : 拿人手短,js方面的不懂问我,为了100块钱的赞助豁出去了。   6       0
评论
站长交流