如何在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。
我們可以將謂詞和操作函式作為test函式的引數傳遞,並在test函式內執行它們。這樣,我們可以使用不同的謂詞函式測試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的值本身。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP