En este artículo, veremos cómo negar una función de predicado en JavaScript. Las funciones de predicado son las que verifican la condición y devuelven verdadero y falso según el argumento. Nuestra tarea es obtener el opuesto de la función de predicado.
Seguimos el siguiente método para obtener el resultado deseado.
Método 1: nuestra función de predicado busca números pares e impares. Si el número es un módulo con 2, devuelve 1, entonces es impar, de lo contrario es par. Negue la lógica mientras verifica las condiciones para el argumento.
Ejemplo :
Javascript
<script> // Predicate function check odd function isOdd(number) { return number % 2 == 1; } // negation of isOdd function function isNotOdd(number) { return number % 2 !== 1; } // Predicate function check Even function isEven(number) { return number % 2 == 0; } // negation of isEven function function isNotEven(number) { return number % 2 !== 0; } // Outputs: true console.log(isOdd(5)); // Outputs: true console.log(isNotOdd(2)); // Output: false console.log(isEven(3)); // Output> false console.log(isNotEven(4)); </script>
Producción:
true true false false
Método 2: El problema con el método anterior es que codificamos nuestra lógica en cada negación. Probablemente tengamos más posibilidades de cometer un error en la condición de negación. Más eficaz es negar la función de predicado comprobando la condición.
Ejemplo :
Javascript
<script> // Predicate function check odd function isOdd(number) { return number % 2 == 1; } // negation of isOdd function function isNotOdd(number) { return !isOdd(number); } // Predicate function check Even function isEven(number) { return number % 2 == 0; } // negation of isEven function function isNotEven(number) { return !isEven(number); } // Outputs: true console.log(isOdd(5)); // Outputs: true console.log(isNotOdd(10)); // Output: false console.log(isEven(3)); // Output> false console.log(isNotEven(4)); </script>
Producción :
true true false false
Método 3: en el método anterior, estamos negando la función para todas las funciones de predicado. Pero nuestra solución puede ser más efectiva si creamos una función que niegue todas las funciones de predicado. Hacemos la función de predicado y vinculamos la función de negación con todas las funciones de predicado.
Ejemplo :
Javascript
<script> // Predicate function check odd function isOdd(number) { return number % 2 == 1; } // Predicate function check Even function isEven(number) { return number % 2 == 0; } // function that negate all function function negate(pre) { return function (number) { return !pre(number); }; } // Wrapping predicate function to negate function var isNotOdd = negate(isOdd); var isNotEven = negate(isEven); // Outputs: true console.log(isOdd(5)); // Outputs: true console.log(isNotOdd(10)); // Output: false console.log(isEven(3)); // Output: false console.log(isNotEven(4)); </script>
Producción :
true true false false
Publicación traducida automáticamente
Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA