Overview
Implement deepClone(value) that creates a deep copy of the input. Must handle objects, arrays, nested structures, null, and primitives.
Constraints
- No
JSON.parse(JSON.stringify()) - Handle nested objects and arrays
- Primitives returned as-is
Examples
const obj = { a: 1, b: { c: 2 } };
const clone = deepClone(obj);
clone.b.c = 99;
obj.b.c; // still 2Solution
Reveal solution
function deepClone(value) {
if (value === null || typeof value !== 'object') return value;
if (Array.isArray(value)) return value.map(item => deepClone(item));
const result = {};
for (const key of Object.keys(value)) result[key] = deepClone(value[key]);
return result;
}deep-clone.js
Deep Clone
mediumcodingJavaScriptObjects
Overview
Implement deepClone(value) that creates a deep copy of the input. Must handle objects, arrays, nested structures, null, and primitives.
Constraints
- No
JSON.parse(JSON.stringify()) - Handle nested objects and arrays
- Primitives returned as-is
Examples
const obj = { a: 1, b: { c: 2 } };
const clone = deepClone(obj);
clone.b.c = 99;
obj.b.c; // still 2Solution
Reveal solution
function deepClone(value) {
if (value === null || typeof value !== 'object') return value;
if (Array.isArray(value)) return value.map(item => deepClone(item));
const result = {};
for (const key of Object.keys(value)) result[key] = deepClone(value[key]);
return result;
}NameTopicDifficulty
103 of 103 problems