¿Cómo probar un valor x contra la función de predicado y devuelve fn (x) o x en JavaScript?

Dado un valor x, la tarea es verificar el valor contra la función de predicado. Si el valor satisface la condición o el predicado, devuelve fn(x), de lo contrario, devuelve x.

Las funciones de predicado son la función que toma un elemento como entrada y devuelve verdadero o falso en función de si el elemento cumple esa condición o no.

Ejemplo 1: en este ejemplo, le hemos dado un número a una condición, si la condición es verdadera, devuelve el fn (número), de lo contrario, devuelve un valor de número simple.

Condition : isEven 
Input : 6
Output : 720 

Explanation : Here condition is number that should 
              be even because our input data is 
              even so it returns the fn(6) value.

Implementación de código:  

Javascript

<script>
 
    // Function that we have to return
    function fn(x) {
        let fact = 1;
        for (i = 1; i <= x; i++) {
            fact *= i;
        }
 
        return fact;
    }
 
    // Predicate function checking even value
    function isEven(x) {
        return (x % 2 === 0);
    }
 
 
    // Function returning fn(x) if predicate
    // function return true else return x
    function test(x) {
        let e = isEven(x);
 
        if (e) {
            return fn(x);
 
        } else
            return x;
    }
 
    // Printing return value
    let ans = test(6);
    console.log(`This function returns ${ans}`);
</script>

Producción: 

This function returns 720

Ejemplo 2: en este ejemplo, hemos dado un número y una condición de prueba, si la condición es verdadera, devuelve el fn (número), de lo contrario, solo devuelve el valor numérico. 

Condition : x less than max_value
Input : 15 
Output : 610

Implementación de código: 

Javascript

<script>
 
    // Initializing the max_Integer
    let max_Integer = 20;
 
    // Function we have to return
    function fn(x) {
        var b = 0;
        var a = 1;
        var sum;
        for (i = 0; i < x - 1; i++) {
            sum = a + b;
            b = a;
            a = sum;
        }
        return a;
    }
 
    // Predicate function checking value
    // is less than max_Integer
    function isless(x) {
        return (x < max_Integer);
    }
 
    // Function return fn(x) if predicate
    // function return true else return x
    function test(x) {
        let e = isless(x);
 
        if (e) {
            return fn(x);
 
        } else
            return x;
    }
 
    // Printing return value
    let ans = test(15);
    console.log(`This function returns ${ans}`);
</script>

Producción: 

The function returns 610

Ejemplo 3: en este ejemplo, hemos dado un número y una condición de prueba, si la condición es verdadera, devuelve el fn (número), de lo contrario, solo devuelve el valor numérico. 

Condition : x is multiple of 3
Input : 6
Output : 7776

Implementación de código:  

Javascript

<script>
 
    // Function we have to return
    function fn(x) {
 
        let j = 1;
        for (i = 0; i < x - 1; i++) {
            j = j * x;
        }
        return j;
    }
 
    // Predicate function checking
    // multiple of 3
    function ismultiple(x) {
        return (x % 3 == 0);
    }
 
    // Function that returns fn(x) if
    // predicate function return true
    // else return false
    function test(x) {
        let e = ismultiple(x);
 
        if (e) {
            return fn(x);
 
        } else
            return x;
    }
 
    // Printing value
    let ans = test(6);
    console.log(`This function returns ${ans}`);
</script>

Producción: 

This function returns 7776

Publicación traducida automáticamente

Artículo escrito por satyam00so y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *