首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

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

发布于 2024-10-17 20:54:12
0
106

在 JavaScript 中,您可以通过多种方式合并多个对象。最常用的方法是展开运算符...和Object.assign()函数。扩展运算符复制对象首先,我们将使用扩展运算符来完成此任务,因为它是最有...

在 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)具有优先级。

评论
一个月内的热帖推荐
小蜗锅
Lv.1普通用户

153

帖子

13

小组

310

积分

赞助商广告
站长交流