返回顶部
首页 > 资讯 > 前端开发 > node.js >怎么使用JS动态合并两个对象的属性
  • 578
分享到

怎么使用JS动态合并两个对象的属性

2024-04-02 19:04:59 578人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关怎么使用js动态合并两个对象的属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们可以使用扩展操作符(...)将不同的对象合并为一个对象,这也是合并两

这篇文章给大家分享的是有关怎么使用js动态合并两个对象的属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

我们可以使用扩展操作符(...)将不同的对象合并为一个对象,这也是合并两个或多个对象最常见的操作。

这是一种合并两个对象的不可变方法,也就是说,用于合并的初始两个对象不会因为副作用而以任何方式改变。最后,我们得到了一个新对象,它由这两个对象构造而成,而它们仍然保持完整。

我们创建两个对象并合并它们:

const person = {     name: "前端小智",     age: 24 } const job = {     title: "前端开发",     location: "厦门" }  const employee = {...person, ...job};  console.log(employee);

运行结果:

{    name: '前端小智',    age: 24,    title: '前端开发',    location: '厦门'  }

注意:如果这两个对象之间有共同的属性,例如它们都有location,则第二个对象(job)的属性将覆盖第一个对象(person)的属性:

const person = {   name: "前端小智",   location: "北京" } const job = {   title: "前端开发",   location: "厦门" }  const employee = {...person, ...job};  console.log(employee);

运行结果:

{    name: '前端小智',    location: '厦门',    title: '前端开发'  }

如果要合并两个以上的对象,最右边的对象将覆盖左边的对象。

使用 Object.assign() 合并JavaScript对象

并两个或多个对象的另一种常用方法是使用内置的Object.assign()方法:

Object.assign(target, source1, source2, ...);

此方法将一个或多个源对象中的所有属性复制到目标对象中。就像扩展操作符一样,在覆盖时,将使用最右边的值:

const person = {   name: "前端小智",   location: "北京", }; const job = {   title: "前端开发",   location: "厦门", };  const employee = Object.assign(person, job); console.log(employee);

运行结果:

{    name: '前端小智',    age: 24,   location: '厦门',    title: '前端开发'  }

同样,请记住employee引用的对象是一个全新的对象,不会链接到person或job引用的对象。

浅合并和深合并

在浅合并的情况下,如果源对象上的属性之一是另一个对象,则目标对象将包含对源对象中存在的同一对象的引用。在这种情况下,不会创建新对象。

我们调整前面的person对象,并将location作为对象本身

const person = {     name: "John Doe",     location: {         city: "London",          country: "England"     } } const job = {     title: "Full stack developer" }  const employee = {...person, ...job};  console.log(employee.location === person.location);

运行结果:

true

我们可以看到person和employee对象中对location对象的引用是相同的。事实上,spread操作符(...)和Object.assign()  都是浅合并。

javascript没有现成的深合并支持。然而,第三方模块和库确实支持它,比如Lodash的.merge。

感谢各位的阅读!关于“怎么使用JS动态合并两个对象的属性”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 怎么使用JS动态合并两个对象的属性

本文链接: https://lsjlt.com/news/68323.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用JS动态合并两个对象的属性
    这篇文章给大家分享的是有关怎么使用JS动态合并两个对象的属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们可以使用扩展操作符(...)将不同的对象合并为一个对象,这也是合并两...
    99+
    2024-04-02
  • javascript中如何动态合并两个对象的属性
    小编给大家分享一下javascript中如何动态合并两个对象的属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们可以使用扩展操作符(...)将不同的对象合并为...
    99+
    2023-06-15
  • jdk8使用stream实现两个list集合合并成一个(对象属性的合并)
    目录一、前言二、示例示例1:java8 合并两个 list<map>示例2:java8 合并两个 list<T>示例3:java8 合并两个 list<T>,集合个数前者小于后者,要...
    99+
    2024-04-02
  • Java中使用stream流进行List对象的特定属性合并另一属性(包括单个属性以及两个属性的合并求和以及没有属性的合并求和)
    声明:代码段仅用来表达含义,如有不标准的地方请见谅。 首先建立一个测试类: @Data@AllArgsConstructor@NoArgsConstructorpublic class Person { //id private...
    99+
    2023-09-02
    java 开发语言
  • js深度合并两个数组对象的实现
    目录js深度合并两个数组对象关于数组对象的深浅合并js深度合并两个数组对象 js合并两个数组对象, 如果a中含有b,则b的值覆盖a的值 如果a中不含有b 则b的值新增到a Merge...
    99+
    2022-12-03
    js深度合并数组对象 js合并数组对象 合并数组对象
  • gis怎么合并属性表两个值
    在GIS中,合并属性表的两个值可以通过以下几种方式实现:1. 使用字段计算器:在GIS软件中,一般都提供了字段计算器的功能,可以通过...
    99+
    2023-08-15
    gis
  • JavaScript中怎么合并两个Json对象
    这篇文章给大家介绍JavaScript中怎么合并两个Json对象,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。具体如下:$.mergeJsonObject = fu...
    99+
    2024-04-02
  • jdk8中怎么使用stream实现对象属性的合并
    这篇“jdk8中怎么使用stream实现对象属性的合并”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jdk8中怎么使用str...
    99+
    2023-06-26
  • 利用java怎么对两个对象的属性进行比较
    利用java怎么对两个对象的属性进行比较?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。两个对象进行比较相等,有两种做法:1、情况一:当仅仅只是判断两个对象是否相...
    99+
    2023-05-31
    java ava
  • js如何设置对象中的动态属性名称
    这篇文章主要为大家展示了“js如何设置对象中的动态属性名称”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“js如何设置对象中的动态属性名称”这篇文章吧。对象中的动态属性名称使用动态键设置对象属性很...
    99+
    2023-06-27
  • js获取对象属性值的两种方法使用总结
    场景:已知对象的某属性,我们需要获取对象中的属性值 js获取对象属性值的方法 通过 . 获取通过 [ ] 获取 let person = { ...
    99+
    2023-05-18
    js获取对象属性值的方法 js怎么取对象的属性 js获取属性
  • java对象动态增加属性怎么实现
    在Java中,对象的属性通常是在编译时确定的,无法在运行时动态地增加属性。然而,可以通过使用Java的反射机制来实现动态增加属性的效...
    99+
    2023-10-12
    java
  • 怎么使用es6合并对象
    这篇文章给大家分享的是有关怎么使用es6合并对象的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。合并对象在JavaScript中合并多个对象的需求一直存在, 比如在传参时需要把表单...
    99+
    2024-04-02
  • vue中怎么给对象动态添加属性和值
    vue中怎么给对象动态添加属性和值,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、背景介绍:在vue中请求接口中,一个请求方法可能对应后台两...
    99+
    2024-04-02
  • 怎么用javascript对象删除一个属性
    这篇文章主要介绍“怎么用javascript对象删除一个属性”,在日常操作中,相信很多人在怎么用javascript对象删除一个属性问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • JavaScript怎么删除对象的某个属性
    小编给大家分享一下JavaScript怎么删除对象的某个属性,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript有什么特点1、js属于一种解释性脚本...
    99+
    2023-06-15
  • wpf怎么绑定一个对象的多个属性
    在WPF中,可以使用绑定表达式来绑定一个对象的多个属性。首先,需要创建一个实现了INotifyPropertyChanged接口的类...
    99+
    2023-09-06
    wpf
  • es6对象增加新的属性怎么使用
    今天小编给大家分享一下es6对象增加新的属性怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。es6对象增加新的属性是“...
    99+
    2023-07-04
  • 怎么用Java比较两个对象中全部属性值是否相等
    本篇内容介绍了“怎么用Java比较两个对象中全部属性值是否相等”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!例如下述Java类:import...
    99+
    2023-06-20
  • java怎么使用stream判断两个list元素的属性并输出
    今天小编给大家分享一下java怎么使用stream判断两个list元素的属性并输出的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作