Ensure _.reduce doesn't assign accumulator a collection value if its length is 0.

This commit is contained in:
John-David Dalton
2013-12-25 00:21:45 -06:00
parent 2dab4ccf85
commit 0438fa6816
5 changed files with 41 additions and 27 deletions

View File

@@ -4109,7 +4109,7 @@
var index = -1,
length = collection.length;
if (noaccum) {
if (noaccum && length) {
accumulator = collection[++index];
}
while (++index < length) {

View File

@@ -23,7 +23,7 @@ for(t=t&&typeof r=="undefined"?t:ut(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n));)
}function Rt(n){return typeof n=="string"||n&&typeof n=="object"&&xr.call(n)==H||false}function Tt(n){for(var t=-1,r=Zr(n),e=r.length,u=ir(e);++t<e;)u[t]=n[r[t]];return u}function Pt(n,t,r){var e=n?n.length:0;if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!Xr(n)&&Rt(n))return qr?qr.call(n,t,r):-1<n.indexOf(t,r);var u=dt();return r=(0>r?Kr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,a=false;return ft(n,function(n){return++o<r?void 0:!(a=n===t)}),a}function Dt(n,t,r){var e=true;
if(t=v.createCallback(t,r,3),Xr(n)){r=-1;for(var u=n.length;++r<u&&(e=!!t(n[r],r,n)););}else ft(n,function(n,r,u){return e=!!t(n,r,u)});return e}function $t(n,t,r){var e=[];if(t=v.createCallback(t,r,3),Xr(n)){r=-1;for(var u=n.length;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}}else ft(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function qt(n,t,r){if(t=v.createCallback(t,r,3),!Xr(n)){var e;return ft(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e}r=-1;for(var u=n.length;++r<u;){var o=n[r];if(t(o,r,n))return o
}}function Ft(n,t,r){if(t&&typeof r=="undefined"&&Xr(n)){r=-1;for(var e=n.length;++r<e&&false!==t(n[r],r,n););}else ft(n,t,r);return n}function Bt(n,t,r){var e=n,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:ut(t,r,3),Xr(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=Zr(n),u=o.length;else Jr.unindexedChars&&Rt(n)&&(e=n.split(""));ft(e,function(r,a){return a=o?o[--u]:--u,t(e[a],a,n)})}return n}function Lt(n,t,r){var e=-1,u=n?n.length:0,o=ir(typeof u=="number"?u:0);if(t=v.createCallback(t,r,3),Xr(n))for(;++e<u;)o[e]=t(n[e],e,n);
else ft(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Wt(n,t,r){var u=-1/0,o=u;if(typeof t!="function"&&r&&r[t]===n&&(t=null),null==t&&Xr(n)){r=-1;for(var a=n.length;++r<a;){var i=n[r];i>o&&(o=i)}}else t=null==t&&Rt(n)?e:v.createCallback(t,r,3),ft(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)});return o}function zt(n,t,r,e){var u=3>arguments.length;if(t=v.createCallback(t,e,4),Xr(n)){var o=-1,a=n.length;for(u&&(r=n[++o]);++o<a;)r=t(r,n[o],o,n)}else ft(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)
else ft(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Wt(n,t,r){var u=-1/0,o=u;if(typeof t!="function"&&r&&r[t]===n&&(t=null),null==t&&Xr(n)){r=-1;for(var a=n.length;++r<a;){var i=n[r];i>o&&(o=i)}}else t=null==t&&Rt(n)?e:v.createCallback(t,r,3),ft(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)});return o}function zt(n,t,r,e){var u=3>arguments.length;if(t=v.createCallback(t,e,4),Xr(n)){var o=-1,a=n.length;for(u&&a&&(r=n[++o]);++o<a;)r=t(r,n[o],o,n)}else ft(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)
});return r}function Kt(n,t,r,e){var u=3>arguments.length;return t=v.createCallback(t,e,4),Bt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function Mt(n){var t=-1,r=n?n.length:0,e=ir(typeof r=="number"?r:0);return Ft(n,function(n){var r=st(0,++t);e[t]=e[r],e[r]=n}),e}function Vt(n,t,r){var e;if(t=v.createCallback(t,r,3),Xr(n)){r=-1;for(var u=n.length;++r<u&&!(e=t(n[r],r,n)););}else ft(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function Ut(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;
for(t=v.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:h;return s(n,0,Mr(Kr(0,e),u))}function Gt(t,r,e){if(typeof e=="number"){var u=t?t.length:0;e=0>e?Kr(0,u+e):e||0}else if(e)return e=Jt(t,r),t[e]===r?e:-1;return n(t,r,e)}function Ht(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=v.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:Kr(0,t);return s(n,e)}function Jt(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?v.createCallback(r,e,1):tr,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;
return u}function Qt(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=typeof t!="function"&&e&&e[t]===n?null:t,t=false),null!=r&&(r=v.createCallback(r,e,3)),gt(n,t,r)}function Xt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Wt(oe(n,"length")):0,e=ir(0>r?0:r);++t<r;)e[t]=oe(n,t);return e}function Yt(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||Xr(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Zt(n,t){return 2<arguments.length?vt(n,17,s(arguments,2),null,t):vt(n,1,null,null,t)