- // We have to get length this way when IE & Opera overwrite the length
- // expando of getElementsByTagName
- if ( i && i.nodeType ) {
- for ( i = 0; second[i]; ++i ) {}
- }
-
- pos = i + first.length;
-
- // Correct length for non Arrays
- first.length = pos;
-
- while ( i ) {
- first[ --pos ] = second[ --i ];
+ if ( typeof second.length === "number" ) {
+ for ( var l = second.length; j < l; j++ ) {
+ first[ i++ ] = second[ j ];
+ }
+ } else {
+ while ( second[j] !== undefined ) {
+ first[ i++ ] = second[ j++ ];
+ }