寫一個 function斑司,它遍歷一個對象數(shù)組(第一個參數(shù))并返回一個包含相匹配的屬性-值對(第二個參數(shù))的所有對象的數(shù)組先改。如果返回的數(shù)組中包含 source 對象的屬性-值對攒读,那么此對象的每一個屬性-值對都必須存在于 collection 的對象中廓旬;
function where(collection, source) {
// What's in a name?
return collection.filter(function(obj){
return Object.keys(source).every(function(item,i){
return obj[item] && obj[item] == source[item];
});
});
}
where([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });