合并两个对象并删除原始对象中不存在的属性

问题描述 投票:3回答:1

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

有没有办法合并对象并具有已在新对象上删除的字段,也从原始对象中删除 - 同时保持原始对象并合并两个对象上存在的值(它是具有id属性的mongoose模型)这样我需要保留)

谢谢!

javascript node.js lodash
1个回答
3
投票

使用defaultsdefaultsDeep here加上pick 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};
© www.soinside.com 2019 - 2024. All rights reserved.