Назад к вопросам
Middle+
2
Как можно скопировать объект в JavaScript? Какие способы знаешь?
Компании, где спрашивали
Ifellow
Ответ от нейросети
sobes.tech AI
В JavaScript есть несколько способов скопировать объект:
-
Поверхностное копирование:
- Использование
Object.assign():const copy = Object.assign({}, original); - Оператор расширения (spread):
const copy = {...original};
Эти методы копируют только первый уровень свойств, вложенные объекты остаются ссылками.
- Использование
-
Глубокое копирование:
-
Через сериализацию в JSON:
const deepCopy = JSON.parse(JSON.stringify(original));Но этот способ не копирует функции,
undefined, символы и не работает с циклическими ссылками. -
Использование специализированных библиотек, например,
lodash:const _ = require('lodash'); const deepCopy = _.cloneDeep(original);
-
-
Рекурсивное копирование: Можно написать свою функцию для глубокого копирования, обходя все вложенные объекты.
Выбор способа зависит от структуры объекта и требований к копированию.