Prototype - Enumerable inject() Method



This method incrementally builds a result value based on the successive results of the iterator. This can be used for the array construction, numerical sums/averages, etc.

The optional context parameter is what the iterator function will be bound to. If used, the this keyword inside the iterator will point to the object given by the argument.

Syntax

Iterator.inject(accumulator, context);

Return Value

Returns accumulated value.

Example

<html>
   <head>
      <title>Prototype examples</title>
      <script type = "text/javascript" src = "/javascript/prototype.js"></script>
      
      <script>
         function showResult() {
            alert("Test1: " + $R(1,10).inject(0, function(acc, n) { 
               return acc + n; 
            }) );
            // Returns 55 (sum of 1 to 10)

            alert("Test2: " + $R(2,5).inject(1, function(acc, n) { 
               return acc * n; 
            }) );
            // Returns 120 (factorial 5)
         }
      </script>
   </head>

   <body>
      <p>Click the button to see the result.</p>
      <br />
      <br />
      <input type = "button" value = "Result" onclick = "showResult();"/>
   </body>
</html>

Output

prototype_enumerating.htm
Advertisements