Maison  >  Article  >  interface Web  >  Comment tester une valeur x par rapport à une fonction prédicat en JavaScript et renvoyer fn(x) ou x ?

Comment tester une valeur x par rapport à une fonction prédicat en JavaScript et renvoyer fn(x) ou x ?

WBOY
WBOYavant
2023-08-23 20:45:02784parcourir

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

Tester une valeur x par rapport à une fonction de prédicat signifie vérifier si x est évalué comme étant valide pour une condition spécifique. Si x suit une certaine condition, nous devons effectuer une opération sur x en utilisant n'importe quelle fonction nommée "fn" et en la passant comme argument de fonction. Sinon, nous devons renvoyer la valeur de x lui-même.

Grammaire

Les utilisateurs peuvent suivre la syntaxe suivante pour tester une valeur x basée sur une fonction de prédicat et renvoyer fn(x) ou x en JavaScript.

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

Dans la syntaxe ci-dessus, nous utilisons l'opérateur ternaire pour tester la valeur par rapport à la fonction predicate() et renvoyer l'opération (x) ou la valeur x en fonction de la valeur de retour de la fonction predicate().

Exemple

Dans l'exemple ci-dessous, nous avons créé la fonction opera() qui renvoie le carré d'un nombre. La fonction predicate() vérifie si la valeur de x est supérieure à 5 et renvoie vrai ou faux selon la condition.

Lors de l'attribution de la valeur à la variable résultat, nous vérifions si x réussit le test de la fonction predicate(). Si tel est le cas, nous attribuons la valeur de retour de la fonction operation() à la variable « result » sinon, x lui-même ;

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

Exemple

Nous avons créé divers prédicats et fonctions arithmétiques dans l'exemple ci-dessous. La fonction opération1() renvoie la valeur divisée par 2. La fonction opération2() renvoie une valeur en convertissant un nombre négatif en nombre positif.

À l'aide de l'opérateur modulo, la fonction predicate1() vérifie si x est divisible par 2. La fonction predicate2() vérifie si x est inférieur à 0.

Nous pouvons transmettre des fonctions de prédicat et d'action en tant que paramètres de la fonction de test et les exécuter dans la fonction de test. De cette façon, nous pouvons tester la valeur de x par rapport à différentes fonctions de prédicat et effectuer différentes tâches sur x en utilisant différentes fonctions d'opération.

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

Les utilisateurs ont appris à tester la valeur de x en fonction d'une fonction de prédicat et à renvoyer fn(x) ou x en fonction de la valeur de retour de la fonction de prédicat. Tout ce que l'utilisateur doit faire est d'utiliser l'opérateur ternaire. Utilisez des fonctions de prédicat dans la partie conditionnelle. Si la condition est vraie, la valeur calculée par la fonction d'opération est renvoyée ; sinon, la valeur de x elle-même est renvoyée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer