About this entry

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

Technorati Tags: ,

Thanks for reading. If you found this article useful, and you've read through some of my previous articles, you might as well Subscribe to my content subscribe to my blog. You'll save me some bandwidth that way.