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

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

Пример кода:

const obj1 = { name: "Alice", info: { age: 25 } };
const obj2 = { info: { age: 30, city: "NY" } };

const merged = mergeDeep(obj1, obj2);
console.log(merged); // { name: "Alice", info: { age: 30, city: "NY" } }


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

function mergeDeep(obj1, obj2) {
const result = { ...obj1 };
for (let key in obj2) {
if (obj2[key] && typeof obj2[key] === 'object') {
result[key] = mergeDeep(result[key], obj2[key]);
} else {
result[key] = obj2[key];
}
}
return result;
}
More from @webdevlair
  1. Oct 17, 2026Post #4697
  2. Oct 16, 2026Deno уходит в Cloudflare. С приветом от Node Спойлер: в Cloudflare команда Deno едет не ко…
  3. Oct 16, 2026Post #4695
  4. Oct 16, 2026Как вставлять иконки в веб, не трогая HTML Ли Веру показывает трюк: иконки настраиваются ч…
  5. Oct 14, 2026Автор ковыряет вёрстку с тех самых времён, когда Chrome был ещё первой версией, а не моноп…
  6. Oct 10, 2026Ухожу из ВЕБА в GameDEV. Сделал игру с ИИ на UE5 за 72 ЧАСА. Ну да, очередной «я всё броси…
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 →