Home > Web Front-end > JS Tutorial > How to test a value x against a predicate function in JavaScript and return fn(x) or x?

How to test a value x against a predicate function in JavaScript and return fn(x) or x?

WBOY
Release: 2023-08-23 20:45:02
forward
822 people have browsed it

如何在 JavaScript 中针对谓词函数测试值 x 并返回 fn(x) 或 x?

Testing a value x against a predicate function means checking whether x evaluates to be valid for a specific condition. If x follows a certain condition, we need to perform some operation on x using any function named "fn" and passing it as function argument. Otherwise, we need to return the value of x itself.

grammar

Users can follow the following syntax to test a value x against a predicate function and return fn(x) or x in JavaScript.

let result = predicate(x) ? operation(x) : x; 
Copy after login

In the above syntax, we use the ternary operator to test the value against the predicate() function and return the operation (x) or x value based on the return value of the predicate() function.

Example

In the example below, we create the opera() function, which returns the square of a number. The predicate() function checks whether the value of x is greater than 5 and returns true or false depending on the condition.

When assigning the value to the result variable, we check whether x passes the test of the predicate() function. If so, we assign the return value of the operation() function to the "result" variable; otherwise, x itself.

<html>
<body>
   <h3>Testing a value x <i> against predicate function and returns fn(x) or x </i> in JavaScript</h3>
   <div id = "content"> </div>
   <script>
      let content = document.getElementById("content");
      let x = 10;
      function operation(x) {
         return x * x; 
      }
      function predicate(x) {
         return x > 5;
      }
      let result = predicate(x) ? operation(x) : x;
      content.innerHTML = "The original value of x is " + x + " and the result is " + result + ".<br>";
      let result2 = predicate(3) ? operation(3) : 3;
      content.innerHTML += "The original value of x is " + 3 + " and the result is " + result2 + ".<br>";
   </script>
</body>
</html>
Copy after login

Example

We have created various predicates and operation functions in the examples below. The operation1() function returns the value divided by 2. The operation2() function returns a value by converting a negative number to a positive number.

Using the modulo operator, the predicate1() function checks whether x is divisible by 2. The predicate2() function checks whether x is less than 0.

We can pass predicates and operation functions as parameters of the test function and execute them within the test function. In this way, we can test the value of x against different predicate functions and perform different tasks on x using different operation functions.

<html>
<body> 
   <h3>Testing a value x <i> against predicate function and returns fn(x) or x </i> in JavaScript</h3>
   <div id = "content"> </div>
   <script>
      let content = document.getElementById("content");
      function operation1(x) {
         return x / 2;
      }
      function predicate1(x) {
         return x % 2 == 0;
      }
      function operation2(x) {
         return Math.abs(x);
      }
      function predicate2(x) {
         return x < 0;
      }
      function test(x, predicate, operation) {
         content.innerHTML += "The original value of x is " + x + "<br>";
         let res = predicate(x) ? operation(x) : x;
         content.innerHTML += "The value of x after the test is " + res + "<br>";
      }
      test(6, predicate1, operation1);
      test(-6, predicate2, operation2);
   </script>
</body> 
</html>
Copy after login

Users learned to test the value of x based on a predicate function and return fn(x) or x based on the return value of the predicate function. All the user needs to do is use the ternary operator. Use predicate functions in the conditional part. If the condition is true, the value calculated by the operation function is returned; otherwise, the value of x itself is returned.

The above is the detailed content of How to test a value x against a predicate function in JavaScript and return fn(x) or x?. For more information, please follow other related articles on the PHP Chinese website!

source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template