首頁  >  文章  >  web前端  >  如何在 JavaScript 中針對謂詞函數測試值 x 並傳回 fn(x) 或 x?

如何在 JavaScript 中針對謂詞函數測試值 x 並傳回 fn(x) 或 x?

WBOY
WBOY轉載
2023-08-23 20:45:02784瀏覽

如何在 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.com。如有侵權,請聯絡admin@php.cn刪除