寫一個 function,它遍歷一個對象數(shù)組(第一個參數(shù))并返回一個包含相匹配的屬性-值對(第二個參數(shù))的所有對象的數(shù)組。如果返回的數(shù)組中包含 source 對象的屬性-值對,那么此對象的每一個屬性-值對都必須存在于 collection 的對象中。
function where(collection, source) {
var arr = [];
// What's in a name?
var sourceArr=Object.keys(source);
arr=collection.filter(function(obj){
for(var i=0;i<sourceArr.length;i++){
if(obj[sourceArr[i]]!==source[sourceArr[i]]){
return false;
}
}
return true;
});
return arr;
}
where([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });