Skip to content

Instantly share code, notes, and snippets.

@zetlen
Forked from morenoh149/program.js
Last active August 29, 2015 14:02
Show Gist options
  • Save zetlen/7dcc64281aac9567e955 to your computer and use it in GitHub Desktop.
Save zetlen/7dcc64281aac9567e955 to your computer and use it in GitHub Desktop.
// problem 05 every some
/*
Return a function that takes a list of valid users, and returns a function that returns true
if all of the supplied users exist in the original list of users.
You only need to check that the ids match.
## Example
var goodUsers = [
{ id: 1 },
{ id: 2 },
{ id: 3 }
]
// `checkUsersValid` is the function you'll define
var testAllValid = checkUsersValid(goodUsers)
testAllValid([
{ id: 2 },
{ id: 1 }
])
// => true
testAllValid([
{ id: 2 },
{ id: 4 },
{ id: 1 }
])
// => false
## Arguments
* goodUsers: a list of valid users
Use array#some and Array#every to check every user passed to your returned
function exists in the array passed to the exported function.
## Resources
* https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/every
* https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/some
## Boilerplate
function checkUsersValid(goodUsers) {
return function(submittedUsers) {
// SOLUTION GOES HERE
};
}
module.exports = checkUsersValid
*/
function isInUsers(users){
return function(submittedUser) {
return users.some(function(user){
return user.id === submittedUser.id;
});
}
}
function checkUsersValid(goodUsers){
return function(submittedUsers){
return submittedUsers.every(isInUsers(goodUsers));
};
}
module.exports = checkUsersValid;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment