is there a way to combine this javascript code to only have a fuction of function noSql(list, query) function matchmaker(query){ return function(data){ for(var key in query){ if (data[key] != query[key]) return false; } return true; } } function noSql(list, query) { var result=[]; var match = matchmaker(query); for(var i=0; i [ { public:true, name:'Lion King' }, { public:true, name:'Dumbo'}] noSql( objects, { name:'Lion King' } ) => [ { public:true, name:'Lion King' }, { public:false, name:'Lion King'}] noSql( objects, { rating:5 } ) => [ { name:'Xeon', rating:5 } ] noSql( objects, { public:false, name:'Dumbo' } ) => [ ]
is there a way to combine this javascript code to only have a fuction of
function noSql(list, query)
function matchmaker(query){
return function(data){
for(var key in query){
if (data[key] != query[key])
return false;
}
return true;
}
}
function noSql(list, query) {
var result=[];
var match = matchmaker(query);
for(var i=0; i<list.length; i++) {
var temp = list[i];
if(match(temp)) {
result.push(temp);
}
}
return result;
}
var objects = [ { public : true, name : "Lion King" },
{ public : true, name : 'Dumbo' },
{ public : false, name : 'Lion King' },
{ name : 'Xeon', rating : 5 } ];
console.log(noSql( objects, { public:true } ) )
console.log(noSql( objects, { name:'Lion King' } ))
console.log(noSql( objects, { rating:5 } ))
console.log(noSql( objects, { public:false, name:'Dumbo' } ))
the directions and examples as follows
This function accepts a list of elements and an object known as the query. The method returns a list of all elements that have each of the key/value properties of the query.
Examples
- var objects = [ { public : true, name : "Lion King" }, { public : true, name : 'Dumbo' }, { public : false, name : 'Lion King' }, { name : 'Xeon', rating : 5 } ];
- noSql( objects, { public:true } ) => [ { public:true, name:'Lion King' }, { public:true, name:'Dumbo'}]
- noSql( objects, { name:'Lion King' } ) => [ { public:true, name:'Lion King' }, { public:false, name:'Lion King'}]
- noSql( objects, { rating:5 } ) => [ { name:'Xeon', rating:5 } ]
- noSql( objects, { public:false, name:'Dumbo' } ) => [ ]
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)