1. Глубокое клонирование объекта
Среднеdeep-clonerecursionobjects
Реализуйте функцию deepClone, которая создаёт полную глубокую копию объекта, включая вложенные объекты, массивы и Date.
Каждый способ должен быть реализован независимо в своём контейнере:
- Глубокое копирование вложенных объектов
- Глубокое копирование массивов
- Корректная копия Date
- Обработка null и примитивов
Реализуйте функцию deepClone(obj), которая: - Создаёт глубокую копию переданного объекта - Корректно обрабатывает вложенные объекты и массивы - Копирует экземпляры Date (возвращает новый Date с тем же значением) - Обрабатывает null и примитивные типы - Не использует JSON.parse/JSON.stringify Ограничения: не нужно обрабатывать циклические ссылки, Map, Set, RegExp.
Примеры
Пример
Вход:
deepClone({ a: { b: 1 }, c: [2, 3] })Ожидаемый результат:
{ a: { b: 1 }, c: [2, 3] } — независимая копия
Подсказка:
Изменение клона не влияет на оригинал
Ограничения
- Не использовать JSON.parse/JSON.stringify
- Не использовать structuredClone
- Не использовать сторонние библиотеки
0% принято
0 решений