JavaScript DOM манипуляции: создание элементов, вставка, перемещение, удаление и клонирование
Глубокое клонирование объектов js. Почему не стоит использовать JSON.parse
Наверняка, многие из вас сталкивались с проблемой клонирования объектов. И скорей всего сталкивались с проблемой, когда спред ({ ...foo }) не работал на вложенные объекты (массивы). Хотя в интернете написано, что работает. Для тех, кто не знает расскажу.
Есть два типа клонирования - поверхностное и глубокое.
Поверхностное, если простым языком, замена ссылки вашей переменной на новую. Например: const foo = { a: 1, b: 2, c: { x: 2 } };
const oldFoo = foo;
const newFoo = { ...foo };
oldFoo.a = 2;
newFoo...
Какой метод глубокого клонирования в JavaScript наиболее эффективный — исследование
Источник: Nuances of Programming В данном исследовании сравниваются различные методы глубокого клонирования в JavaScript, а их эффективность оценивается с помощью серии модульных тестов. Результаты были проанализированы и ранжированы, чтобы определить наиболее эффективный метод. Код, созданный в этом исследовании, находится в открытом доступе здесь. Взглянуть на список протестированных методов клонирования можно здесь. Настоятельно рекомендуется просмотреть код: там есть много того, о чем не идет речь в этой статье...