JSFiddle - React, Tailwind, and code Playground
JavaScript
function whatIsInAName(collection, source) {
var compareArr1=[];
var compareArr2=[];
var finArr=[];
var finArr2=[];
compareArr1=Object.keys(source);
for (i=0;i<collection.length;i++){
var count=0;
for (ii=0;ii<compareArr1.length;ii++){
if (collection[i].hasOwnProperty(compareArr1[ii])===false){
count-=1;
}
}
if (count===0) {
finArr.push(collection[i]);
}
}
for (iii=0;iii<finArr.length;iii++){
var count1=0;
for (iiii=0;iiii<compareArr1.length;iiii++){
if (finArr[iii][compareArr1[iiii]] !== source[compareArr1[iiii]]){
count1-=1;
}
}
if (count1===0){finArr2.push(finArr[iii])}
}
console.log(finArr2);
}
whatIsInAName([{ "a": 1, "b": 2 }, { "a": 1 }, { "a": 1, "b": 2, "c": 2 }], { "a": 1, "b": 2 });