În sfârșit am priceput cum funcționează array.filter in Javascript. Un lucru e clar pentru mine, cam greu funcționează cerebelul după o anumită oră. Mai jos e codul care funcționează pentru bonfire-ul în 18 Oct. 2015.
function where(collection, source) { var arr = []; // * loop through array to get the objects // * loop through object for var prop in obj arr = collection.filter(function(el, id){ for ( var prop in source ) { console.log(Object.keys(el).indexOf(prop) + prop); if ( Object.keys(el).indexOf(prop) < 0 ) { return false; } if ( el[prop] != source[prop] ) { return false; } } return true; }); // What's in a name? return arr; } console.log(where([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" }));