Skip to content

Instantly share code, notes, and snippets.

@eendeego
Last active August 29, 2015 14:02
Show Gist options
  • Save eendeego/ed4c8b2f4d61c18284a4 to your computer and use it in GitHub Desktop.
Save eendeego/ed4c8b2f4d61c18284a4 to your computer and use it in GitHub Desktop.
var known = [ 1, 6, 3, 9, 4 ];
var presented = [ 2, 5, 7, 4, 9, 4 ];
function done(missing, extraneous) {
console.log('Missing:', missing);
console.log('Extraneous:', extraneous);
}
check(known, presented, done);
function check(known, presented, done) {
var stuff = {};
function count(v) {
var k = stuff[v];
stuff[v] = k ? k + 1 : 1;
}
known.forEach(count);
var common = [];
var extraneous = [];
presented.forEach(function (p) {
if (stuff[p]) {
if (!--stuff[p]) { common.push(p); }
} else {
extraneous.push(p);
}
});
done(common, extraneous);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment