Subrayado.js _.reduce() Función – Part 1

La función _.reduce() es una función incorporada en Underscore.js que se usa para transformar las propiedades de una array/objeto en un valor único o se usa para crear un resultado único a partir de una lista de valores determinada. Cuando todos los elementos de la lista se pasan a la función/iterado y no quedan más elementos, el bucle _.each finaliza.
La función iteratee hace uso de la memorización, es decir, recuerda el valor de retorno cada vez que calcula un valor.

Sintaxis:

_.reduce(list, iteratee, memo)

Parámetros: esta función acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • lista: Es la lista que contiene algunos elementos.
  • iteratee: Es la función que se utiliza para tomar todos los elementos de la lista y también recuerda todos los valores devueltos.
  • memo: Es un valor.

Valor devuelto: Devuelve el valor de la última iteración que devuelve la función _.reduce().

Código JavaScript para mostrar el funcionamiento de la función _.reduce()

1) Pasar una lista de números a la función _.reduce(): La función ._reduce() toma el elemento de la lista uno por uno y realiza las operaciones especificadas en el código. Como aquí, la operación es la adición de los elementos de la lista. Después de agregar todos los elementos, la función de reducción finaliza. Aquí el valor inicial de memo se toma como ‘0’.

<html>
   
<head>
    <script>
        <src = "https://cdnjs.cloudflare.com/ajax/libs/
                underscore.js/1.9.1/underscore-min.js" >
    </script>
    <script type="text/javascript"
    src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
         /1.9.1/underscore-min.js.map"></script>
   
    <script type="text/javascript"
     src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
          /1.9.1/underscore.js"></script>
</head>
   
<body>
    <script type="text/javascript">
          var sum=_.reduce([1, 2, 3, 4, 5], function(memo, num) {
               return memo + num; 
          });
          document.write(sum);   
    </script>
</body>
   
</html>

Salida:

2) Pasar y no pasar el valor de memo: si no estamos pasando el valor de la variable memo, toma el valor del primer elemento de la lista. En caso contrario toma el valor mencionado.

<html>
   
<head>
    <script>
        <src = "https://cdnjs.cloudflare.com/ajax/libs/
                underscore.js/1.9.1/underscore-min.js" >
    </script>
    <script type="text/javascript"
    src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
         /1.9.1/underscore-min.js.map"></script>
   
    <script type="text/javascript"
     src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
          /1.9.1/underscore.js"></script>
</head>
   
<body>
    <script type="text/javascript">
         var sum1 = _.reduce([1, 2, 3, 4, 5], function(memo, num){ 
               return memo + num;  
         0 });
         var sum2 = _.reduce([1, 2, 3, 4, 5], function(memo, num){ 
               return memo + num;  
         5 });
         document.write(sum1);
         document.write(sum);
    </script>
</body>
   
</html>

Salida:

3) Averiguar el valor de la variable num: La variable ‘num’ es una variable que almacena los valores de los elementos de la lista. Por lo tanto, dado que estamos devolviendo el valor al final cuando la función termina, esto implica que la lista también ha terminado. Por lo tanto, se imprimirá el último elemento de la lista.

<html>
   
<head>
    <script>
        <src = "https://cdnjs.cloudflare.com/ajax/libs/
                underscore.js/1.9.1/underscore-min.js" >
    </script>
    <script type="text/javascript"
    src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
         /1.9.1/underscore-min.js.map"></script>
   
    <script type="text/javascript"
     src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
          /1.9.1/underscore.js"></script>
</head>
   
<body>
    <script type="text/javascript">
         var num=_.reduce([1, 2, 3, 4, 5], function(memo, num) {
              return num;
          });
         document.write(num);
    </script>
</body>
   
</html>

Producción:

4) Aplicar operadores lógicos en la función _.reduce(): De los ejemplos anteriores, queda claro que en el valor de memo es 1 y el de num es 5 (solo para este ejemplo). Entonces, podemos aplicar el operador lógico (>, <) para comparar los valores de num y memo y luego imprimir sus valores.

<html>
   
<head>
    <script>
        <src = "https://cdnjs.cloudflare.com/ajax/libs/
                underscore.js/1.9.1/underscore-min.js" >
    </script>
    <script type="text/javascript"
    src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
         /1.9.1/underscore-min.js.map"></script>
   
    <script type="text/javascript"
     src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js
          /1.9.1/underscore.js"></script>
</head>
   
<body>
    <script type="text/javascript">
         var result=_.reduce([1, 2, 3, 4, 5], function(memo, num) {
               if(memo<num)
                    return memo;
               else
                    return num;
         });
    </script>
</body>
   
</html>

Producción:

Publicación traducida automáticamente

Artículo escrito por Sakshi98 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 *