Cómo negar una función predicado en JavaScript
Para negar una función predicado en JavaScript, puedes usar el operador !
. Para hacer esto, puedes crear una función de orden superior llamada negate
que tome una función predicado y le aplique el operador !
con sus argumentos. Aquí hay un ejemplo de cómo implementar negate
:
const negate =
(func) =>
(...args) =>
!func(...args);
Luego puedes usar negate
para negar cualquier función predicado. Aquí hay un ejemplo de cómo usar negate
para filtrar los números pares de un array:
const isEven = (n) => n % 2 === 0;
const isOdd = negate(isEven);
[1, 2, 3, 4, 5, 6].filter(isOdd); // [ 1, 3, 5 ]
En este ejemplo, isEven
es una función predicado que verifica si un número es par. Luego usamos negate
para crear una nueva función predicado llamada isOdd
que verifica si un número es impar negando isEven
. Finalmente, usamos isOdd
con el método filter
para filtrar los números pares del array.