return num == null ?
// Return a 'clean' array
- Array.prototype.slice.call( this ) :
+ this.toArray() :
// Return just the object
- this[ num ];
+ ( num < 0 ? this.toArray.call(this, num)[0] : this[ num ] );
},
// Take an array of elements and push it onto the stack
if ( deep && copy && typeof copy === "object" && !copy.nodeType ) {
target[ name ] = jQuery.extend( deep,
// Never move original objects, clone them
- src || ( copy.length != null ? [ ] : { } ), copy );
+ src || ( jQuery.isArray(copy) ? [ ] : { } ), copy );
// Don't bring in undefined values
} else if ( copy !== undefined ) {