Javascript 使用Lodash比较、匹配和过滤两个对象

Javascript 使用Lodash比较、匹配和过滤两个对象,javascript,json,object,lodash,Javascript,Json,Object,Lodash,我有一个看起来像这样的对象(带有嵌套对象): 另一个看起来像这样(也有嵌套对象): 第二个对象表示第一个对象上的“筛选条件”。如何使用lodash返回如下所示的对象: var result = { "results":{ "Description":"There was a record added" }, "service":"FDSY", "eventId":"033dc019-0b8a-4af22", "assetType":"CLCI" } 本质上,我只需要结果是与

我有一个看起来像这样的对象(带有嵌套对象):

另一个看起来像这样(也有嵌套对象):

第二个对象表示第一个对象上的“筛选条件”。如何使用lodash返回如下所示的对象:

var result = {
 "results":{  
     "Description":"There was a record added"
 },
"service":"FDSY",
"eventId":"033dc019-0b8a-4af22",
"assetType":"CLCI" 
}
本质上,我只需要结果是与过滤器对象中的键匹配的键值对。我还需要对嵌套对象进行过滤

我不需要使用lodash,但我知道它们的许多特性会使这变得容易。
提前谢谢。

您可以使用过滤器的键来迭代键和组装对象

var数据={service:“FDSY”,StartTimestamp:“2017-03-23T21:55:17Z”,eventId:“033dc019-0b8a-4af22”,assetId:“TenGigE0/14/0/0.55”,assetType:“CLCI”},
筛选器={service:,eventId:,assetType:},
result=Object.keys(filter.reduce)((r,k)=>Object.assign(r,{[k]:data[k]}),{});

控制台日志(结果)谢谢!这很有效。如果有嵌套对象呢?
var filter = {
"results":{  
           "Description":"",
        },
"service":"",
"eventId":"",
"assetType":"" 
}
var result = {
 "results":{  
     "Description":"There was a record added"
 },
"service":"FDSY",
"eventId":"033dc019-0b8a-4af22",
"assetType":"CLCI" 
}