Skip to content

Instantly share code, notes, and snippets.

@enil
Created May 10, 2017 18:54
Show Gist options
  • Save enil/0611679d7a4d6646d41e8327a1cf2f34 to your computer and use it in GitHub Desktop.
Save enil/0611679d7a4d6646d41e8327a1cf2f34 to your computer and use it in GitHub Desktop.
JS Iterator comparison
const Iterators = {
compare(left, right) {
const leftIterator = left[Symbol.iterator](), rightIterator = right[Symbol.iterator]();
while (true) {
const {done: leftDone, value: leftValue} = leftIterator.next();
const {done: rightDone, value: rightValue} = rightIterator.next();
if (leftValue !== rightValue || leftDone !== rightDone) {
return false;
} else if (leftDone && rightDone) {
return true;
}
}
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment