Commit 4cc4e542 authored by Daniel Husar's avatar Daniel Husar Committed by Richard Gibson

Core: Simplify and speed up .each

Closes gh-1510

(cherry picked from commit eeda11cdd6a69ec2ef4e9c1ed12b82a79910fda5)
parent aec41a5c
...@@ -301,25 +301,20 @@ jQuery.extend({ ...@@ -301,25 +301,20 @@ jQuery.extend({
// args is for internal usage only // args is for internal usage only
each: function( obj, callback, args ) { each: function( obj, callback, args ) {
var value, var i = 0,
i = 0,
length = obj.length, length = obj.length,
isArray = isArraylike( obj ); isArray = isArraylike( obj );
if ( args ) { if ( args ) {
if ( isArray ) { if ( isArray ) {
for ( ; i < length; i++ ) { for ( ; i < length; i++ ) {
value = callback.apply( obj[ i ], args ); if ( callback.apply( obj[ i ], args ) === false ) {
if ( value === false ) {
break; break;
} }
} }
} else { } else {
for ( i in obj ) { for ( i in obj ) {
value = callback.apply( obj[ i ], args ); if ( callback.apply( obj[ i ], args ) === false ) {
if ( value === false ) {
break; break;
} }
} }
...@@ -329,17 +324,13 @@ jQuery.extend({ ...@@ -329,17 +324,13 @@ jQuery.extend({
} else { } else {
if ( isArray ) { if ( isArray ) {
for ( ; i < length; i++ ) { for ( ; i < length; i++ ) {
value = callback.call( obj[ i ], i, obj[ i ] ); if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
if ( value === false ) {
break; break;
} }
} }
} else { } else {
for ( i in obj ) { for ( i in obj ) {
value = callback.call( obj[ i ], i, obj[ i ] ); if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
if ( value === false ) {
break; break;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment