From 0d1a2c1b1145ad17bec061a231b8426b3424d144 Mon Sep 17 00:00:00 2001 From: Filipe Fortes Date: Tue, 5 Jan 2010 05:25:14 +0800 Subject: Make sure to do a deep copy on arrays. #5750 --- src/core.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/core.js b/src/core.js index 975d23c0d..58cbbc7e5 100644 --- a/src/core.js +++ b/src/core.js @@ -316,10 +316,10 @@ jQuery.extend = jQuery.fn.extend = function() { continue; } - // Recurse if we're merging object literal values - if ( deep && copy && jQuery.isPlainObject(copy) ) { - // Don't extend not object literals - var clone = src && jQuery.isPlainObject(src) ? src : {}; + // Recurse if we're merging object literal values or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || jQuery.isArray(copy) ) ) { + var clone = src && ( jQuery.isPlainObject(src) || jQuery.isArray(src) ) ? src + : jQuery.isArray(copy) ? [] : {}; // Never move original objects, clone them target[ name ] = jQuery.extend( deep, clone, copy ); -- cgit v1.2.3