TGViewer
Логово верстальщика Логово верстальщика @webdevlair · 7.92K subscribers
Post #3788 1.02K
👩‍💻 Реализация глубокого копирования объекта

Напишите функцию deepClone, которая создает глубокую копию объекта. Глубокая копия означает, что вложенные объекты и массивы также должны быть скопированы, а не переданы по ссылке. Функция должна корректно работать с вложенными структурами данных и массивами.

Пример кода:

const obj = { 
name: "Alice",
info: { age: 25, hobbies: ["reading", "swimming"] }
};
const copy = deepClone(obj);

console.log(copy); // { name: "Alice", info: { age: 25, hobbies: ["reading", "swimming"] } }
copy.info.age = 30;
console.log(obj.info.age); // 25 (изменение не повлияло на оригинальный объект)


Решение задачи🔽

function deepClone(obj) {
if (obj === null || typeof obj !== 'object') {
return obj;
}

if (Array.isArray(obj)) {
return
obj.map(deepClone);
}

const clone = {};
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
clone[key] = deepClone(obj[key]);
}
}
return clone;
}

// Примеры использования
const obj = {
name: "Alice",
info: { age: 25, hobbies: ["reading", "swimming"] }
};
const copy = deepClone(obj);

console.log(copy); // { name: "Alice", info: { age: 25, hobbies: ["reading", "swimming"] } }
copy.info.age = 30;
console.log(obj.info.age); // 25 (изменение не повлияло на оригинальный объект
  • 👍 2
More from @webdevlair
  1. Oct 9, 2026Post #4686
  2. Oct 9, 2026Реальный факап с Opus Значит, запустил чел Opus с выключенными запросами разрешений. Ожида…
  3. Oct 9, 2026Post #4684
  4. Oct 8, 2026Stack Overflow протрезвел и рассказал, как мы все утонули в ИИ Опросили больше 30 тысяч че…
  5. Oct 8, 2026OpenAI выкатила на GitHub 722 математические статьи — и написали их всё те же модели, толь…
  6. Oct 8, 2026Свершилось: в Chrome 155, который выкатили вчера, наконец прикрутили поддержку JPEG XL (.j…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →