<< Back to main
Simulate mongo findOne with a collection of objects
const HEROES = [
{ id: 1, name: "Captain America", squad: "Avengers" },
{ id: 2, name: "Iron Man", squad: "Avengers" },
{ id: 3, name: "Spiderman", squad: "Avengers" },
{ id: 4, name: "Superman", squad: "Justice League" },
{ id: 5, name: "Wonder Woman", squad: "Justice League" },
{ id: 6, name: "Aquaman", squad: "Justice League" },
{ id: 7, name: "Hulk", squad: "Avengers" },
];
function findOne(collection, query) {
const result = collection.find((obj) => {
keys = Object.keys(query);
for (let i = 0; i < keys.length; i++) {
if (obj[keys[i]] !== query[keys[i]]) {
return false;
}
}
return true;
});
return result;
}
console.log(findOne(HEROES, { id: 6, squad: "Justice League" }));