Prototype Enumerable inject() Method


Advertisements


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>

To understand it in better way you can Try it yourself.


prototype_enumerating.htm

Advertisements