当前位置: 首页 > 面试题库 >

如何在ES6 +中将两个javascript对象合并在一起?

毋玺
2023-03-14
问题内容

我厌倦了总是不得不编写这样的代码:

function shallowExtend(obj1,obj2){
  var key;
  for ( key in obj2 ) {
    if ( obj2.hasOwnProperty(key) === false )  continue;
    obj1[key] = obj2[key]
  }
}

或者,如果我不想自己编写代码,请实现一个已经执行过的库。ES6 +肯定会在这方面获救,这将为我们提供类似a
Object.prototype.extend(obj2...)Object.extend(obj1,obj2...)

那么ES6 +是否提供这种功能?如果尚不存在,那么是否计划了此类功能?如果没有计划,那为什么不呢?


问题答案:

您将可以通过使用Object.assign在ES6中进行浅合并/扩展/分配:

句法:

Object.assign( targetsources );

其中 … sources 表示源对象。

例:

var obj1 = {name: 'Daisy', age: 30};
var obj2 = {name: 'Casey'};

Object.assign(obj1, obj2);

console.log(obj1.name === 'Casey' && obj1.age === 30);
// true


 类似资料:
  • 本文向大家介绍如何将两个JavaScript对象与纯JavaScript连接在一起?,包括了如何将两个JavaScript对象与纯JavaScript连接在一起?的使用技巧和注意事项,需要的朋友参考一下 假设我们有两个这样定义的对象- 我们需要编写一个JavaScript函数,该函数接受两个这样的对象并合并为一个对象。 换句话说,我们需要或多或少地实现Object.assign()函数的功能。 示

  • 我从Rabbitmq中的队列收到了这条json消息: 然后我需要映射到这个模型类: 为此,我在@RabbitListener类中执行了此操作: 另一方面,我有一个服务类,它在customer类中为我提供customer对象,该对象需要添加到我的模型类中,并提供一个特定的id,如下所示: 最后,我的问题是如何将这个对象添加到模型类中?所以我可以在《邮递员》中看到这样的内容:

  • 问题内容: 我试图在我的类中有一个默认对象,它具有可接受的默认属性,并让开发人员通过指定另一个对象来覆盖其中的一些默认属性,但是我找不到一种很好的方法来做到这一点。 预期的用法如下: 问题答案: 实现该接口,因此您 可以 按原样对待它,并使用诸如添加another的内容之类的方法。 但是,如果您将其视为地图,则需要非常小心: 因为它 看起来 像一个复制构造函数,但事实并非如此,这常常使人们感到 困

  • 首先,我对反应式编程有点陌生。在参加了一些关于reactor和spring 5.0的演讲后,我想自己尝试一下这个编程模型。 我有一个应用程序,它使用WebClient从不同的API构建两个Flux对象。我想将这2个对象组合成一个并将其返回给用户。 代码示例如下所示: 现在在我的handler方法中: 我应该使用反应器API中的什么方法来实现这一点?我找到了一些方法来组合像组合最新的对象,但是在这种

  • 问题内容: 我需要能够在运行时合并两个(非常简单的)JavaScript对象。例如,我想: 有没有人为此提供脚本或知道内置的方式来执行此操作?我不需要递归,也不需要合并函数,只需合并平面对象上的方法即可。 问题答案: ECMAScript 2018标准方法 您将使用对象传播: 现在是和的并集。中的属性将覆盖中的属性。 这也是此语法的MDN文档。如果您正在使用babel,则需要babel-plugi

  • 问题内容: 我有两个从JSON转换的数据对象。两者都非常复杂,我想以类似于jQuery使用扩展合并两个对象的方式来合并它们。 例 JSON 1: JSON 2: 合并成 用PHP对象解决此问题的最佳方法是什么。 问题答案: 将每个JSON字符串解码为一个关联数组,合并结果并重新编码 更新: 如果您有特定的合并要求,则需要编写自己的合并功能。我在下面写了一篇满足您问题中要求的书。如果您有其他未提及的