Add more _.indexOf tests.

This commit is contained in:
John-David Dalton
2014-01-14 20:18:17 -08:00
parent f7aab02978
commit c6557e5078
8 changed files with 22 additions and 19 deletions

View File

@@ -2382,12 +2382,12 @@
* // => 2
*/
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
var length = array ? array.length : 0;
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return array[index] === value ? index : -1;
return (length && array[index] === value) ? index : -1;
}
return baseIndexOf(array, value, fromIndex);
}

View File

@@ -19,7 +19,7 @@ if(t&&((i=ae(t))||ie(t))){for(l=e.length;l--;)if(a=e[l]==t){f=u[l];break}if(!a){
}return c?(v(s.g),y(s)):u&&v(s),l}function vt(n){return function(t,r,u){var o={};if(r=e.createCallback(r,u,3),ae(t)){u=-1;for(var a=t.length;++u<a;){var i=t[u];n(o,i,r(i,u,t),t)}}else it(t,function(t,e,u){n(o,t,r(t,e,u),u)});return o}}function yt(n,t,r,e,u,o){var i=1&t,l=4&t,f=16&t,c=32&t;if(!(2&t||Qt(n)))throw new yr;f&&!r.length&&(t&=-17,f=r=false),c&&!e.length&&(t&=-33,c=e=false);var s=n&&n.__bindData__;return s&&true!==s?(s=kt(s),s[2]&&(s[2]=kt(s[2])),s[3]&&(s[3]=kt(s[3])),!i||1&s[1]||(s[4]=u),!i&&1&s[1]&&(t|=8),!l||4&s[1]||(s[5]=o),f&&Ir.apply(s[2]||(s[2]=[]),r),c&&Pr.apply(s[3]||(s[3]=[]),e),s[1]|=t,yt.apply(null,s)):(1==t||17===t?a:O)([n,t,r,e,u,o])
}function mt(n){n.d=X;var t=cr,r="return function("+n.a+"){",e="var s="+n.b+";if(!k(q)){return s}"+n.e+";";Yr.nonEnumArgs&&(e+="var n=q.length;if(n&&j(q)){m=-1;while(++m<n){m+='';"+n.c+";}return s}"),Yr.enumPrototypes&&(e+="var u=typeof q=='function';"),Yr.enumErrorProps&&(e+="var t=q===g||q instanceof Error;");var u=[];if(Yr.enumPrototypes&&u.push("!(u&&m=='prototype')"),Yr.enumErrorProps&&u.push("!(t&&(m=='message'||m=='name'))"),e+="for(var m in q){",n.f&&u.push("h.call(q,m)"),u.length&&(e+="if("+u.join("&&")+"){"),e+=n.c+";",u.length&&(e+="}"),e+="}",Yr.nonEnumShadows){for(e+="if(q!==r){var e=q.constructor,l=q===(e&&e.prototype),c=q===w?v:q===g?f:y.call(q),o=p[c];",u=0;7>u;u++)e+="m='"+n.d[u]+"';if((!(l&&o[m])&&h.call(q,m))",n.f||(e+="||(!o[m]&&q[m]!==r[m])"),e+="){"+n.c+"}";
e+="}"}return t("a,f,g,h,j,k,r,p,v,w,y",r+(e+"return s;")+"}")(k,Y,dr,Ar,wt,Yt,br,Qr,et,_r,xr)}function dt(){var n=(n=e.indexOf)===xt?t:n;return n}function bt(n){return typeof n=="function"&&Cr.test(qr.call(n))}function _t(n){var t,r;return!n||xr.call(n)!=tt||!Ar.call(n,"constructor")&&(t=n.constructor,Qt(t)&&!(t instanceof t))||!Yr.argsClass&&wt(n)||!Yr.nodeClass&&h(n)?false:Yr.ownLast?(oe(n,function(n,t,e){return r=Ar.call(e,t),false}),false!==r):(oe(n,function(n,t){r=t}),typeof r=="undefined"||Ar.call(n,r))
}function wt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&xr.call(n)==G||false}function jt(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=-1;for(t=e.createCallback(t,r,3);++a<o&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[0]:C;return kt(n,0,0<u?u:0)}function xt(n,r,e){if(typeof e=="number"){var u=n?n.length:0;e=0>e?Kr(0,u+e):e||0}else if(e)return e=Ot(n,r),n[e]===r?e:-1;return t(n,r,e)}function Ct(n,t,r){if(typeof t!="number"&&null!=t){var u=0,o=-1,a=n?n.length:0;
}function wt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&xr.call(n)==G||false}function jt(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=-1;for(t=e.createCallback(t,r,3);++a<o&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[0]:C;return kt(n,0,0<u?u:0)}function xt(n,r,e){var u=n?n.length:0;if(typeof e=="number")e=0>e?Kr(0,u+e):e||0;else if(e)return e=Ot(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function Ct(n,t,r){if(typeof t!="number"&&null!=t){var u=0,o=-1,a=n?n.length:0;
for(t=e.createCallback(t,r,3);++o<a&&t(n[o],o,n);)u++}else u=null==t||r?1:0<t?t:0;return kt(n,u)}function kt(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=Kr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=Kr(u+r,0):r>u&&(r=u),u=r-t||0,r=ir(u);++e<u;)r[e]=n[t+e];return r}function Ot(n,t,r,u){var o=0,a=n?n.length:o;for(r=r?e.createCallback(r,u,1):rr,t=r(t);o<a;)u=o+a>>>1,r(n[u])<t?o=u+1:a=u;return o}function Et(n,t,r,u){var o=typeof t;return"boolean"!=o&&null!=t&&(u=r,r=t,t=false,"number"!=o&&"string"!=o||!u||u[r]!==n||(r=null)),null!=r&&(r=e.createCallback(r,u,3)),gt(n,t,r)
}function qt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?$t(ue(n,"length")):0,e=ir(0>r?0:r);++t<r;)e[t]=ue(n,t);return e}function St(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||ae(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function At(){return this.__wrapped__}function It(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"||!ae(n)&&nr(n))return Fr?Fr.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 it(n,function(n){return++o<r?void 0:!(a=n===t)}),a}function Nt(n,t,r){var u=true;if(t=e.createCallback(t,r,3),ae(n)){r=-1;for(var o=n.length;++r<o&&(u=!!t(n[r],r,n)););}else it(n,function(n,r,e){return u=!!t(n,r,e)});return u}function Rt(n,t,r){var u=[];if(t=e.createCallback(t,r,3),ae(n)){r=-1;for(var o=n.length;++r<o;){var a=n[r];t(a,r,n)&&u.push(a)}}else it(n,function(n,r,e){t(n,r,e)&&u.push(n)});return u}function Tt(n,t,r){if(t=e.createCallback(t,r,3),!ae(n)){var u;

4
dist/lodash.js vendored
View File

@@ -2081,12 +2081,12 @@
* // => 2
*/
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
var length = array ? array.length : 0;
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return array[index] === value ? index : -1;
return (length && array[index] === value) ? index : -1;
}
return baseIndexOf(array, value, fromIndex);
}

12
dist/lodash.min.js vendored
View File

@@ -17,12 +17,12 @@ if(c||p)return at(c?n.__wrapped__:n,p?t.__wrapped__:t,r,u,o,i);if(l!=Y)return fa
}else e(t,function(t,e,f){return Or.call(f,e)?(g++,a=Or.call(n,e)&&at(n[e],t,r,u,o,i)):void 0}),a&&!u&&e(n,function(n,t,r){return Or.call(r,t)?a=-1<--g:void 0});return o.pop(),i.pop(),l&&(h(o),h(i)),a}function lt(n,t,r,e,u){(Zr(t)?St:Mt)(t,function(t,o){var i,a,f=t,l=n[o];if(t&&((a=Zr(t))||ne(t))){for(f=e.length;f--;)if(i=e[f]==t){l=u[f];break}if(!i){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?Zr(l)?l:[]:ne(l)?l:{}),e.push(t),u.push(l),c||lt(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);
n[o]=l})}function ct(n,t){return n+kr(Lr()*(t-n+1))}function st(n,e,u){var o=-1,i=vt(),a=n?n.length:0,f=[],c=!e&&a>=A&&i===t,p=u||c?s():f;for(c&&(p=l(p),i=r);++o<a;){var g=n[o],y=u?u(g,o,n):g;(e?!o||p[p.length-1]!==y:0>i(p,y))&&((u||c)&&p.push(y),f.push(g))}return c?(h(p.g),v(p)):u&&h(p),f}function gt(n){return function(t,r,e){var u={};r=i.createCallback(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++e<o;){var a=t[e];n(u,a,r(a,e,t),t)}else Mt(t,function(t,e,o){n(u,t,r(t,e,o),o)});return u
}}function ht(n,t,r,e,u,o){var i=1&t,a=4&t,f=16&t,l=32&t;if(!(2&t||Gt(n)))throw new gr;f&&!r.length&&(t&=-17,f=r=false),l&&!e.length&&(t&=-33,l=e=false);var c=n&&n.__bindData__;return c&&true!==c?(c=jt(c),c[2]&&(c[2]=jt(c[2])),c[3]&&(c[3]=jt(c[3])),!i||1&c[1]||(c[4]=u),!i&&1&c[1]&&(t|=8),!a||4&c[1]||(c[5]=o),f&&Ar.apply(c[2]||(c[2]=[]),r),l&&Rr.apply(c[3]||(c[3]=[]),e),c[1]|=t,ht.apply(null,c)):(1==t||17===t?_:ut)([n,t,r,e,u,o])}function vt(){var n=(n=i.indexOf)===_t?t:n;return n}function yt(n){return typeof n=="function"&&_r.test(xr.call(n))
}function mt(n){var t,r;return n&&dr.call(n)==Y&&(Or.call(n,"constructor")||(t=n.constructor,!Gt(t)||t instanceof t))?(e(n,function(n,t){r=t}),typeof r=="undefined"||Or.call(n,r)):false}function bt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&dr.call(n)==V||false}function dt(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=i.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:k;return jt(n,0,0<e?e:0)}function _t(n,r,e){if(typeof e=="number"){var u=n?n.length:0;
e=0>e?qr(0,u+e):e||0}else if(e)return e=kt(n,r),n[e]===r?e:-1;return t(n,r,e)}function wt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=i.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:0<t?t:0;return jt(n,e)}function jt(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=qr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=qr(u+r,0):r>u&&(r=u),u=r-t||0,r=ur(u);++e<u;)r[e]=n[t+e];return r}function kt(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?i.createCallback(r,e,1):Zt,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;
return u}function xt(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(r=i.createCallback(r,e,3)),st(n,t,r)}function Ct(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Ft(Yr(n,"length")):0,e=ur(0>r?0:r);++t<r;)e[t]=Yr(n,t);return e}function Ot(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||Zr(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function At(){return this.__wrapped__}function Et(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"||!Zr(n)&&Qt(n))return Sr?Sr.call(n,t,r):-1<n.indexOf(t,r);var u=vt();return r=(0>r?qr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,i=false;return Mt(n,function(n){return++o<r?void 0:!(i=n===t)}),i}function Nt(n,t,r){var e=true;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&(e=!!t(n[r],r,n)););else Mt(n,function(n,r,u){return e=!!t(n,r,u)});return e}function Rt(n,t,r){var e=[];t=i.createCallback(t,r,3),r=-1;
var u=n?n.length:0;if(typeof u=="number")for(;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}else Mt(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function It(n,t,r){t=i.createCallback(t,r,3),r=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Mt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}for(;++r<e;){var o=n[r];if(t(o,r,n))return o}}function St(n,t,r){var e=-1,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof u=="number")for(;++e<u&&false!==t(n[e],e,n););else Mt(n,t);return n
}function Tt(n,t,r){var e=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof e=="number")for(;e--&&false!==t(n[e],e,n););else{var u=te(n),e=u.length;Mt(n,function(n,r,o){return r=u?u[--e]:--e,t(o[r],r,o)})}return n}function Dt(n,t,r){var e=-1,u=n?n.length:0;if(t=i.createCallback(t,r,3),typeof u=="number")for(var o=ur(u);++e<u;)o[e]=t(n[e],e,n);else o=[],Mt(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Ft(n,t,r){var e=-1/0,o=e,a=typeof t;if("number"!=a&&"string"!=a||!r||r[t]!==n||(t=null),null==t&&Zr(n))for(r=-1,a=n.length;++r<a;){var f=n[r];
}function mt(n){var t,r;return n&&dr.call(n)==Y&&(Or.call(n,"constructor")||(t=n.constructor,!Gt(t)||t instanceof t))?(e(n,function(n,t){r=t}),typeof r=="undefined"||Or.call(n,r)):false}function bt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&dr.call(n)==V||false}function dt(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=i.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:k;return jt(n,0,0<e?e:0)}function _t(n,r,e){var u=n?n.length:0;
if(typeof e=="number")e=0>e?qr(0,u+e):e||0;else if(e)return e=kt(n,r),u&&n[e]===r?e:-1;return t(n,r,e)}function wt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=i.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:0<t?t:0;return jt(n,e)}function jt(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=qr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=qr(u+r,0):r>u&&(r=u),u=r-t||0,r=ur(u);++e<u;)r[e]=n[t+e];return r}function kt(n,t,r,e){var u=0,o=n?n.length:u;
for(r=r?i.createCallback(r,e,1):Zt,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function xt(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(r=i.createCallback(r,e,3)),st(n,t,r)}function Ct(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Ft(Yr(n,"length")):0,e=ur(0>r?0:r);++t<r;)e[t]=Yr(n,t);return e}function Ot(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||Zr(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])
}return u}function At(){return this.__wrapped__}function Et(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"||!Zr(n)&&Qt(n))return Sr?Sr.call(n,t,r):-1<n.indexOf(t,r);var u=vt();return r=(0>r?qr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,i=false;return Mt(n,function(n){return++o<r?void 0:!(i=n===t)}),i}function Nt(n,t,r){var e=true;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&(e=!!t(n[r],r,n)););else Mt(n,function(n,r,u){return e=!!t(n,r,u)
});return e}function Rt(n,t,r){var e=[];t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}else Mt(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function It(n,t,r){t=i.createCallback(t,r,3),r=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Mt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}for(;++r<e;){var o=n[r];if(t(o,r,n))return o}}function St(n,t,r){var e=-1,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof u=="number")for(;++e<u&&false!==t(n[e],e,n););else Mt(n,t);
return n}function Tt(n,t,r){var e=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof e=="number")for(;e--&&false!==t(n[e],e,n););else{var u=te(n),e=u.length;Mt(n,function(n,r,o){return r=u?u[--e]:--e,t(o[r],r,o)})}return n}function Dt(n,t,r){var e=-1,u=n?n.length:0;if(t=i.createCallback(t,r,3),typeof u=="number")for(var o=ur(u);++e<u;)o[e]=t(n[e],e,n);else o=[],Mt(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Ft(n,t,r){var e=-1/0,o=e,a=typeof t;if("number"!=a&&"string"!=a||!r||r[t]!==n||(t=null),null==t&&Zr(n))for(r=-1,a=n.length;++r<a;){var f=n[r];
f>o&&(o=f)}else t=null==t&&Qt(n)?u:i.createCallback(t,r,3),St(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function $t(n,t,r,e){var u=3>arguments.length;t=i.createCallback(t,e,4);var o=-1,a=n?n.length:0;if(typeof a=="number")for(u&&a&&(r=n[++o]);++o<a;)r=t(r,n[o],o,n);else Mt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)});return r}function Bt(n,t,r,e){var u=3>arguments.length;return t=i.createCallback(t,e,4),Tt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function qt(n){var t=-1,r=n?n.length:0,e=ur(typeof r=="number"?r:0);
return St(n,function(n){var r=ct(0,++t);e[t]=e[r],e[r]=n}),e}function Wt(n,t,r){var e;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&!(e=t(n[r],r,n)););else Mt(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function zt(n,t){return 2<arguments.length?ht(n,17,jt(arguments,2),null,t):ht(n,1,null,null,t)}function Lt(n,t,r){function e(){c&&jr(c),i=c=p=k,(h||g!==t)&&(s=oe(),a=n.apply(l,o),c||i||(o=l=null))}function u(){var r=t-(oe()-f);0<r?c=Er(u,r):(i&&jr(i),r=p,i=c=p=k,r&&(s=oe(),a=n.apply(l,o),c||i||(o=l=null)))
}var o,i,a,f,l,c,p,s=0,g=false,h=true;if(!Gt(n))throw new gr;if(t=qr(0,t)||0,true===r)var v=true,h=false;else Ht(r)&&(v=r.leading,g="maxWait"in r&&(qr(t,r.maxWait)||0),h="trailing"in r?r.trailing:h);return function(){if(o=arguments,f=oe(),l=this,p=h&&(c||!v),false===g)var r=v&&!c;else{i||v||(s=f);var y=g-(f-s),m=0>=y;m?(i&&(i=jr(i)),s=f,a=n.apply(l,o)):i||(i=Er(e,y))}return m&&c?c=jr(c):c||t===g||(c=Er(u,t)),r&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Pt(n,t,r){var e=arguments,u=0,o=e.length,i=typeof r;

View File

@@ -1130,12 +1130,12 @@
* // => 2
*/
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
var length = array ? array.length : 0;
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return array[index] === value ? index : -1;
return (length && array[index] === value) ? index : -1;
}
return baseIndexOf(array, value, fromIndex);
}

View File

@@ -10,7 +10,7 @@ for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof
case gr:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case hr:case yr:return n==r+""}if(u=i==lr,!u){var f=n instanceof o,a=r instanceof o;if(f||a)return g(f?n.__wrapped__:n,a?r.__wrapped__:r,t,e);if(i!=vr)return false;if(i=Rr.call(n,"constructor"),f=Rr.call(r,"constructor"),i!==f||!i&&(i=n.constructor,f=r.constructor,i!=f&&!(H(i)&&i instanceof i&&H(f)&&f instanceof f)&&"constructor"in n&&"constructor"in r))return false}for(t||(t=[]),e||(e=[]),i=t.length;i--;)if(t[i]==n)return e[i]==r;var c=true,l=0;if(t.push(n),e.push(r),u){if(l=r.length,c=l==n.length)for(;l--&&(c=g(n[l],r[l],t,e)););}else Yr(r,function(r,u,o){return Rr.call(o,u)?(l++,!(c=Rr.call(n,u)&&g(n[u],r,t,e))&&ur):void 0
}),c&&Yr(n,function(n,r,t){return Rr.call(t,r)?!(c=-1<--l)&&ur:void 0});return t.pop(),e.pop(),c}function v(n,r,t){for(var e=-1,u=m(),o=n?n.length:0,i=[],f=t?[]:i;++e<o;){var a=n[e],c=t?t(a,e,n):a;(r?!e||f[f.length-1]!==c:0>u(f,c))&&(t&&f.push(c),i.push(a))}return i}function h(n){return function(r,t,e){var u={};t=X(t,e,3),e=-1;var o=r?r.length:0;if(typeof o=="number")for(;++e<o;){var i=r[e];n(u,i,t(i,e,r),r)}else U(r,function(r,e,o){n(u,r,t(r,e,o),o)});return u}}function y(n,r,t,e,u,o){var i=16&r,a=32&r;
if(!(2&r||H(n)))throw new TypeError;return i&&!t.length&&(r&=-17,t=false),a&&!e.length&&(r&=-33,e=false),(1==r||17===r?f:l)([n,r,t,e,u,o])}function m(){var r=(r=o.indexOf)===w?n:r;return r}function _(n){return typeof n=="function"&&Nr.test(Br.call(n))}function b(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Sr.call(n)==cr||false}function d(n,r,t){var e=0,u=n?n.length:0;if(typeof r!="number"&&null!=r){var o=-1;for(r=X(r,t,3);++o<u&&r(n[o],o,n);)e++}else if(e=r,null==e||t)return n?n[0]:tr;return x(n,0,0<e?e:0)
}function w(r,t,e){if(typeof e=="number"){var u=r?r.length:0;e=0>e?Ur(0,u+e):e||0}else if(e)return e=T(r,t),r[e]===t?e:-1;return n(r,t,e)}function j(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=X(r,t,3);++u<o&&r(n[u],u,n);)e++}else e=null==r||t?1:0<r?r:0;return x(n,e)}function x(n,r,t){var e=-1,u=n?n.length:0;for(typeof r=="undefined"?r=0:0>r?r=Ur(u+r,0):r>u&&(r=u),typeof t=="undefined"?t=u:0>t?t=Ur(u+t,0):t>u&&(t=u),u=t-r||0,t=Array(u);++e<u;)t[e]=n[r+e];return t}function T(n,r,t,e){var u=0,o=n?n.length:u;
}function w(r,t,e){var u=r?r.length:0;if(typeof e=="number")e=0>e?Ur(0,u+e):e||0;else if(e)return e=T(r,t),u&&r[e]===t?e:-1;return n(r,t,e)}function j(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,o=n?n.length:0;for(r=X(r,t,3);++u<o&&r(n[u],u,n);)e++}else e=null==r||t?1:0<r?r:0;return x(n,e)}function x(n,r,t){var e=-1,u=n?n.length:0;for(typeof r=="undefined"?r=0:0>r?r=Ur(u+r,0):r>u&&(r=u),typeof t=="undefined"?t=u:0>t?t=Ur(u+t,0):t>u&&(t=u),u=t-r||0,t=Array(u);++e<u;)t[e]=n[r+e];return t}function T(n,r,t,e){var u=0,o=n?n.length:u;
for(t=t?X(t,e,1):Y,r=t(r);u<o;)e=u+o>>>1,t(n[e])<r?u=e+1:o=e;return u}function A(n,r,t,e){var u=typeof r;return"boolean"!=u&&null!=r&&(e=t,t=r,r=false,"number"!=u&&"string"!=u||!e||e[t]!==n||(t=null)),null!=t&&(t=X(t,e,3)),v(n,r,t)}function E(n,r){var t=m(),e=n?n.length:0,u=false;return e&&typeof e=="number"?u=-1<t(n,r):U(n,function(n){return(u=n===r)&&ur}),u}function O(n,r,t){var e=true;r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else U(n,function(n,t,u){return!(e=!!r(n,t,u))&&ur
});return e}function k(n,r,t){var e=[];r=X(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u;){var o=n[t];r(o,t,n)&&e.push(o)}else U(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function S(n,r,t){r=X(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return U(n,function(n,t,e){return r(n,t,e)?(u=n,ur):void 0}),u}for(;++t<e;){var o=n[t];if(r(o,t,n))return o}}function N(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:c(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==ur;);else U(n,r)
}function q(n,r){var t=n?n.length:0;if(typeof t=="number")for(;t--&&false!==r(n[t],t,n););else{var e=nt(n),t=e.length;U(n,function(n,u,o){return u=e?e[--t]:--t,false===r(o[u],u,o)&&ur})}}function F(n,r,t){var e=-1,u=n?n.length:0;if(r=X(r,t,3),typeof u=="number")for(var o=Array(u);++e<u;)o[e]=r(n[e],e,n);else o=[],U(n,function(n,t,u){o[++e]=r(n,t,u)});return o}function B(n,r,t){var e=-1/0,u=e,o=typeof r;"number"!=o&&"string"!=o||!t||t[r]!==n||(r=null);var o=-1,i=n?n.length:0;if(null==r&&typeof i=="number")for(;++o<i;)t=n[o],t>u&&(u=t);

View File

@@ -2399,12 +2399,12 @@
* // => 2
*/
function indexOf(array, value, fromIndex) {
var length = array ? array.length : 0;
if (typeof fromIndex == 'number') {
var length = array ? array.length : 0;
fromIndex = (fromIndex < 0 ? nativeMax(0, length + fromIndex) : fromIndex || 0);
} else if (fromIndex) {
var index = sortedIndex(array, value);
return (array[index] === value && array.length ? index : -1);
return (length && array[index] === value) ? index : -1;
}
return baseIndexOf(array, value, fromIndex);
}

View File

@@ -3165,9 +3165,13 @@
equal(_.indexOf(array, 3), 2);
});
test('should return `-1` for an unmatched value', 2, function() {
test('should return `-1` for an unmatched value', 4, function() {
equal(_.indexOf(array, 4), -1);
equal(_.indexOf([], undefined, true), -1);
equal(_.indexOf(array, 4, true), -1);
var empty = [];
equal(_.indexOf(empty, undefined), -1);
equal(_.indexOf(empty, undefined, true), -1);
});
test('should work with a positive `fromIndex`', 1, function() {
@@ -3198,7 +3202,6 @@
test('should work with `isSorted`', 1, function() {
strictEqual(_.indexOf([1, 2, 3], 1, true), 0);
});
}());
/*--------------------------------------------------------------------------*/