diff options
Diffstat (limited to 'src/Angular.js')
| -rw-r--r-- | src/Angular.js | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/Angular.js b/src/Angular.js index 39e9b385..2b26c88d 100644 --- a/src/Angular.js +++ b/src/Angular.js @@ -244,18 +244,17 @@ function copy(source, destination){ while(destination.length) { destination.pop(); } + for ( var i = 0; i < source.length; i++) { + destination.push(copy(source[i])); + } } else { foreach(destination, function(value, key){ delete destination[key]; }); + for ( var key in source) { + destination[key] = copy(source[key]); + } } - foreach(source, function(value, key){ - destination[key] = value ? - ( isArray(value) ? - copy(value, []) : - (isObject(value) ? copy(value, {}) : value)) : - value; - }); return destination; } } |
