我有一个使用 JavaScript 解决某个问题的伪代码,但我无法想象如何将其翻译成代码:
var sampleCollection = [
{ 'a': 1, 'b': 2, 'c': 3 },
{ 'a': 4, 'b': 5, 'c': 6 }
];
var sampleFilter = { 'a': 4, 'c': 6 };
function getCollectionFilter(collection,filter) {
function collectionFilter(collection,filter) {
//return if for each element in filter,
//collection's key/value pair is same with filter's key/value pair
}
return collection.filter(collectionFilter);
}
getCollectionFilter(sampleCollection,sampleFilter);
// -> { 'a': 4, 'b': 5, 'c': 6};
我认为lodash有_.matches来解决这个问题,但我想知道为什么要以某种方式处理,并且如果采用其他方式会有什么影响和后果。
在现实世界中,为什么某些解决方案/做法是“最佳”的,会增加额外的奖励。
'b': 5
? - Aeolingamenfela
和c
的值匹配,所以会出现这种情况吗? - AncientSwordRage