Javascript - Lodash/Underscore 比较两个对象并根据它们的键更改值

标签 javascript arrays underscore.js lodash

有一个小问题

我需要比较两个对象,并根据这些对象中的相同键将值从第二个对象传递到原始对象。

原始对象

{
   content: "Old Value",
   height: 200,
   id: "15a2d286-d123-1cf0-4e40-b043b055a49f",
   type: "location",
   units: "some unit value",
   width: 200,
}

第二个对象

{
   units: "some unit value", 
   content: "New Value"
}

检查合规性不需要 key

输出会是这样的

{
   content: "New Value", // changed value
   height: 200,
   id: "15a2d286-d123-1cf0-4e40-b043b055a49f",
   type: "location",
   units: "some unit value", // changed value
   width: 200,
}

Lodash 或 Underscore 有没有优雅的解决方案来解决这个问题?

最佳答案

这就能解决问题(使用 lodash)

var source = {
  content: "Old Value",
  height: 200,
  id: "15a2d286-d123-1cf0-4e40-b043b055a49f",
  type: "location",
  units: "some unit value",
  width: 200,
},
source2 = {
  units: "some unit value", 
  content: "New Value"
}
_.assignIn(source , source2 );

关于Javascript - Lodash/Underscore 比较两个对象并根据它们的键更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35990865/

相关文章:

javascript - 单击动态生成的按钮

javascript - 无法弄清楚如何将 yield 与异步请求一起使用

javascript - React - setTimeout 触发错误组件的样式更改

数组:在一些附加条件下找到两个数字,使其总和最大

javascript - 带 lodash/下划线的聚合排序限制

javascript - 如何在javascript中从嵌套函数设置变量

javascript - 基于字符串值的嵌套分组 Angular 6

c - 调整二维动态分配表大小时出现段错误

Javascript对象按日、月、年分组

javascript - 未捕获的语法错误 : Unexpected identifier Underscore _. 模板