Take 4 arrays of 4 objects each, and return a new array with just "ages". Then make sure that every age is over 21, if not, return false, is so, return true.
arrob1 = [{name : " Aaron " , age : 20}, {name : "Adam", age: 30} {name : "Bill", age : 40}, {name : "Bob", age : 30}];
arrob2 = [{name : " Charles " , age : 20}, {name : "Chad", age: 30} {name : "David", age : 40}, {name : "Donald", age : 30}];
arrob3 = [{name : " Evan " , age : 20}, {name : "Eugene", age: 30} {name : "Frank", age : 40}, {name : "Fred", age : 30}];
arrob4 = [{name : " Gerald " , age : 20}, {name : "Gene", age: 30} {name : "Harold", age : 40}, {name : "Henry", age : 30}];
Solution is in the comments.
Since I don't know how many arrays will be added, they are pulled from the arguments object.
ReplyDeletevar ageTester = function(key,callback){
var ageHolder = [];
_.each(arguments, function(item){
_.each(item, function(val){
if(val[key] !== undefined){
ageHolder.push(val[key]);
}
});
});
return !! _.reduce(ageHolder, function(a, b){
return a && callback(b);
},true);
}