Logical XOR in JavaScript
Of course there wouldn’t be an XOR function in JavaScript when I needed one. So I googled around and found an implementation at How To Create. But it only took two arguments. So I rolled my own supporting a variable number of arguments. In my personal stuff, I’ve put it into a Math library under the YAHOO namespace, and you can decide if you want to do that on your own.
function xor() {
var b = false;
for( var j = 0; j < arguments.length; j++ ) {
if( arguments[ j ] && !b ) b = true;
else if( arguments[ j ] && b ) return false;
}
return b;
};
Usage:
xor( false, true ); // true
xor( true, true ); // false
xor( false, false, true, true, true, false, true, false ); // false
xor( false, false, false, true, false, false, false, false ); // true
2 Comments
Nagy Gergely Disqus
06 Nov 2017zachleat Disqus
13 Nov 2017