这是两个对象:
object1: {
email: somevalue
url: somevalue
description: somevalue
}
object2: {
email: someothervalue
url: someothervalue
}
目标,从object1中移除任何键/值对,对于object2上不存在的每个键。对象无法合并,因为每个对象的值都非常不同。
这可以通过传统的命令式结构来完成,但我正在寻找一种更具功能性的结构。在lodash库的帮助下,这样做的方式。 你知道一种方法吗,结果将是:
object1: {
email: somevalue
url: somevalue
}
答案 0 :(得分:3)
你真的不需要lodash。
Object.keys(object1).forEach(function(key) {
if (!(key in object2))
delete object1[key];
});
答案 1 :(得分:2)
使用lodash,您可以执行以下操作:
_.pick(object1, Object.keys(object2))
这会产生新对象。