Назад к вопросам
ОТП Банк
Middle
1
Какие методы существуют для создания глубокой копии объекта?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Для создания глубокой копии объекта в JavaScript существуют несколько подходов:
- JSON.parse(JSON.stringify(obj)) — самый простой способ, но он не копирует функции, символы, свойства с undefined, а также не работает с объектами, содержащими циклические ссылки.
const deepCopy = JSON.parse(JSON.stringify(originalObject));
-
Рекурсивное копирование — написать функцию, которая рекурсивно копирует все вложенные объекты и массивы, учитывая типы данных.
-
Использование библиотек — например, lodash с функцией
_.cloneDeep():
const _ = require('lodash');
const deepCopy = _.cloneDeep(originalObject);
- Structured Clone API — современный метод, поддерживаемый в браузерах и Node.js, который корректно копирует большинство типов, включая циклические ссылки:
const deepCopy = structuredClone(originalObject);
Выбор метода зависит от требований к типам данных и окружению.