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' } ) => [ ]
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images