Make deepCopy work correctly with arrays
This commit is contained in:
parent
8f686eb795
commit
4f655e71d9
1 changed files with 16 additions and 5 deletions
|
|
@ -89,6 +89,15 @@ exports.deepCopy = function (obj) {
|
||||||
return obj;
|
return obj;
|
||||||
|
|
||||||
var copy = cons();
|
var copy = cons();
|
||||||
|
if (Array.isArray(obj)) {
|
||||||
|
for (var key = 0; key < obj.length; key++) {
|
||||||
|
if (typeof obj[key] === "object") {
|
||||||
|
copy[key] = exports.deepCopy(obj[key]);
|
||||||
|
} else {
|
||||||
|
copy[key] = obj[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
for (var key in obj) {
|
for (var key in obj) {
|
||||||
if (typeof obj[key] === "object") {
|
if (typeof obj[key] === "object") {
|
||||||
copy[key] = exports.deepCopy(obj[key]);
|
copy[key] = exports.deepCopy(obj[key]);
|
||||||
|
|
@ -96,6 +105,8 @@ exports.deepCopy = function (obj) {
|
||||||
copy[key] = obj[key];
|
copy[key] = obj[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return copy;
|
return copy;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue