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

WBOY
WBOY 转载
2023-08-23 20:45:02 463浏览

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

针对谓词函数测试值 x 意味着检查 x 是否被评估为对于特定条件有效。如果 x 遵循特定条件,我们需要使用任何名为“fn”的函数并将其作为函数参数传递,对 x 执行一些操作。否则,我们需要返回 x 本身的值。

语法

用户可以按照以下语法根据谓词函数测试值 x 并在 JavaScript 中返回 fn(x) 或 x。

let result = predicate(x) ? operation(x) : x; 

在上面的语法中,我们使用三元运算符来针对 predicate() 函数测试值,并根据 predicate() 函数的返回值返回操作(x) 或 x 值。

示例

在下面的示例中,我们创建了 opera() 函数,该函数返回数字的平方。 predicate() 函数检查 x 的值是否大于 5,并根据条件返回 true 或 false。

在将值赋给结果变量时,我们检查 x 是否通过 predicate() 函数的测试。如果是,我们将 operation() 函数的返回值分配给“result”变量;否则,x 本身。

<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>

示例

我们在下面的示例中创建了各种谓词和运算函数。 operation1() 函数返回除以 2 后的值。 operation2() 函数通过将负数转换为正数来返回值。

使用模运算符,predicate1() 函数检查 x 是否能被 2 整除。 predicate2() 函数检查 x 是否小于 0。

我们可以将谓词和操作函数作为测试函数的参数传递,并在测试函数内执行它们。通过这种方式,我们可以针对不同的谓词函数测试 x 的值,并使用不同的操作函数对 x 执行不同的任务。

<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>

用户学会了根据谓词函数测试 x 的值,并根据谓词函数的返回值返回 fn(x) 或 x。用户需要做的就是使用三元运算符。在条件部分使用谓词函数。如果条件成立,则返回运算函数计算出的值;否则,返回 x 本身的值。

以上就是如何在 JavaScript 中针对谓词函数测试值 x 并返回 fn(x) 或 x?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除