¿Cómo escribir un programa que tome un predicado y una array, como Array.filter(), pero solo mantenga x si pred(x) === falso en JavaScript?

El predicado en JavaScript es el mismo que el predicado matemático que devuelve verdadero o falso

El predicado es como una función que determina si los argumentos pasados ​​cumplen o no la condición dada. El predicado devuelve solo verdadero o falso .

En este artículo, veamos el funcionamiento del predicado con arrays cuando se pasa con una función en JavaScript.

Sintaxis:

function predicate(argument) 
{
     if(condition_satisfied)
     return true;
     else
     return false;
}
function using_predicate(array, predicate)
{
      for(elements in array )
      {
          if (predicate is satisfied)
          {
            code for satisfied condition;
          }
          else
          {
            code for else condition;
          }
      }
}

Ejemplo 1: la siguiente función que toma una array y un predicado y devuelve la array resultante que satisface pred(x)===false . En esta función, el predicado devuelve verdadero, si el elemento de la array es un número par, de lo contrario, devuelve falso . La salida debe ser números impares.

Javascript

<script>
  function pred(x) {
      if (x % 2 == 0)
          return true;
      else
          return false;
  }
  
  function implementPredicate(array, pred) {
      var res = [];
      for (let i = 0; i < array.length; i++) {
          if (pred(array[i]) === false) {
              res.push(array[i]);
          }
      }
      return res;
  }
  var array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8];
  var final = implementPredicate(array, pred);
  console.log("The resultant array is "+final);
</script>

Producción:

The resultant array is 1,3,5,7

Usando el predicado con el método filter():

Sintaxis:

function predicate(argument) 
{
     if(condition_satisfied)
     return true;
     else
     return false;
}
array.filter(predicate);

Ejemplo 2:

Javascript

<script>
  function pred(x) {
      if (x % 2 == 0)
          return false;
      else
          return true;
  }
  
  var array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8];
  var final = array.filter(pred);
  console.log("The resultant array is "+final);
</script>

Producción:

The resultant array is 1,3,5,7

Ejemplo 3: La siguiente función cuenta la frecuencia de 8 en la array usando un predicado pasando los argumentos a la función como la array y el predicado.

Javascript

<script>
  function pred(x) {
      if (x == 8)
          return true;
      else
          return false;
  }
  function implementPredicate(array, pred) {
      var res = 0;
      for (let i = 0; i < array.length; i++) {
          if (pred(array[i]) === true) {
              res++;
          }
      }
      return res;
  }
  
  
  var array = [1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 8];
  var final = implementPredicate(array, pred)
  console.log("The frequency of 8 is " + final);
</script>

Producción:

The frequency of 8 is 3

Publicación traducida automáticamente

Artículo escrito por lokeshpotta20 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *