Kaynağa Gözat

Fixing accumulator usage in reduce methods

Sebastien Ros 12 yıl önce
ebeveyn
işleme
56cfdd6cc4
1 değiştirilmiş dosya ile 4 ekleme ve 3 silme
  1. 4 3
      Jint/Native/Array/ArrayPrototype.cs

+ 4 - 3
Jint/Native/Array/ArrayPrototype.cs

@@ -139,15 +139,16 @@ namespace Jint.Native.Array
                 }
             }
 
-            for (; k < len; k++)
+            while(k < len)
             {
                 var pk = k.ToString();
                 var kpresent = o.HasProperty(pk);
                 if (kpresent)
                 {
                     var kvalue = o.Get(pk);
-                    accumulator = callable.Call(Undefined.Instance, new object[] { kvalue, k, o });
+                    accumulator = callable.Call(Undefined.Instance, new object[] { accumulator, kvalue, k, o });
                 }
+                k++;
             }
 
             return accumulator;
@@ -872,7 +873,7 @@ namespace Jint.Native.Array
                 if (kpresent)
                 {
                     var kvalue = o.Get(pk);
-                    accumulator = callable.Call(Undefined.Instance, new object[] { kvalue, k, o });
+                    accumulator = callable.Call(Undefined.Instance, new object[] { accumulator, kvalue, k, o });
                 }
             }