1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/songjinyang-everyday

 / Детали:

Задача 14. Рекурсивное глубокое копирование

Предстоит сделать
Владелец
Создано  
27.04.2025
        let obj = {
            a: 1,
            b: {
                c: 1,
                d: 2
            }
        }
        function clone(obj) {
            let cc = {}
            for (i in obj) {
                if (typeof obj[i] === 'object') {
                    cc[i] = clone(obj[i])
                } else {
                    cc[i] = obj[i]
                }
            }
            return cc
        }
     
       let o = clone(obj)
       obj.b.c = 3
       console.log(o)

            // Простое моделирование глубокого клонирования. Сначала преобразуем объект в строку, а затем обратно... Это немного странно...
             let aa = {a: 1, b: 2, c: {c1: 1}}
            let cc = JSON.parse(JSON.stringify(aa))
           cc.c.c1 = 2
            console.log(aa)
            console.log(cc)

В данном тексте нет необходимости в переводе, так как он содержит только комментарии на китайском языке, которые не требуют перевода в данном контексте.

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/songjinyang-everyday.git
git@api.gitlife.ru:oschina-mirror/songjinyang-everyday.git
oschina-mirror
songjinyang-everyday
songjinyang-everyday