Javascript 使用Lodash比较、匹配和过滤两个对象
我有一个看起来像这样的对象(带有嵌套对象): 另一个看起来像这样(也有嵌套对象): 第二个对象表示第一个对象上的“筛选条件”。如何使用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" } 本质上,我只需要结果是与
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"
}