合并两个对象并删除原始

时间:2017-05-22 15:18:18

标签: javascript node.js lodash

我有一个前端应用,用户可以在其中添加/删除其个人资料中的字段。我试图为API创建一个PUT请求,通常我只是_.merge(original,req.body)但更新的对象有几个属性从对象中删除,而不是在原始对象上。

是否有任何方法可以合并对象并使新对象上已删除的字段也从原始对象中删除 - 同时保留原始对象并合并两个对象上存在的值('一个具有id属性的mongoose模型,这样我需要保留)

谢谢!

1 个答案:

答案 0 :(得分:3)

使用defaultsdefaultsDeep herepick here

例如:

const original = {check: 1};
const anotherObj = {check: 3, data: 2};
const resultMerge = _.defaults(anotherObj, original);
const result = _.pick(resultMerge, _.keys(original));

// result => {check: 3};