Cadena booleana

Escribe tres funciones:

  1. AND
  2. OR
  3. XOR

Estas funciones deben evaluar un arreglo de valores true y false, comenzando por el elemento situado más a la izquierda y evaluando por pares.

Ejemplos

and([true, true, false, true]) ➞ false
// and([true, true, false, true]) => and([true, false, true]) => and([false, true]) => false

or([true, true, false, false]) ➞ true
// or([true, true, false, true]) => or([true, false, false]) => or([true, false]) => true

xor([true, true, false, false]) ➞ false
// xor([true, true, false, false]) => xor([false, false, false]) => xor([false, false]) => false

Notas

  • XOR es igual que OR, excepto que excluye [true, true].
  • Cada vez que evalúas los elementos en las posiciones 0 y 1, los reduces a un único resultado.