Skip to content

Commit 9c5fdb0

Browse files
chore: implement deep copy
1 parent 5c319ed commit 9c5fdb0

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

docs/objects.md

+20-1
Original file line numberDiff line numberDiff line change
@@ -356,4 +356,23 @@ function deepEqual(obj1, obj2) {
356356
}
357357
```
358358

359-
## Implement spread operator
359+
## Implement deep copy function
360+
361+
```js
362+
function deepCopy(inObject) {
363+
let outObject;
364+
365+
outObject = Array.isArray(inObject) ? [] : {};
366+
367+
for (let key in inObject) {
368+
let value = inObject[key];
369+
if (typeof value !== "object" || value === null) {
370+
outObject[key] = value;
371+
} else {
372+
outObject[key] = deepCopy(value);
373+
}
374+
}
375+
376+
return outObject;
377+
}
378+
```

0 commit comments

Comments
 (0)