如何在 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() 函数的返回值返回 operation(x) 或 x 值。
示例
在下面的示例中,我们创建了 operation() 函数,该函数返回数字的平方。predicate() 函数检查 x 的值是否大于 5,并根据条件返回 true 或 false。
在将值分配给 result 变量时,我们检查 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 本身的值。