Prototype - Enumerable inject() 方法

此方法根据迭代器的连续结果逐步构建结果值。这可用于数组构造、数值总和/平均值等。

可选的 context 参数是迭代器函数将绑定到的内容。如果使用,迭代器内的 this 关键字将指向参数给出的对象。

语法

Iterator.inject(accumulator, context);

返回值

返回累积值。

示例

<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>单击按钮查看结果。</p>
      <br />
      <br />
      <input type = "button" value = "Result" onclick = "showResult();"/>
   </body>
</html>

输出

prototype_enumerating.html