JS: Object.assign () создает глубокую копию или мелкую копию

Я написал небольшой скрипт, используя другую часть из ответов на этой странице (спасибо @Desty и @MichaelDePhillips). Сценарий быстрый (от 100 до 200 мс на моем компьютере), и вы можете указать, что бренд не переключается. Вот сценарий:

console.time('Execution time');
var manufacturers = document.querySelectorAll('[data-manufacturer-group]');

for (var i = 0; i < manufacturers.length; i++) {
    var manufacturer = manufacturers[i];
    var brand = manufacturer.firstElementChild;

    if (brand.tagName == 'H3' && brand.textContent != 'Samsung') {
        console.log(brand.textContent);
        var tags = manufacturer.children;

        for (var j=0;j<tags.length;j++) {
            var tag = tags[j];
            if (tag.tagName == 'OL') {
                var devices = tag.children;
                for (var k=0;k<devices.length;k++) {
                    var device = devices[k];
                    if (device.tagName == 'LI') {
                        var checkbox = device.firstElementChild;
                        var attr = checkbox.getAttribute;
                        if (checkbox.tagName == 'CHECKBOX') {
                            checkbox.setAttribute('aria-checked', 'true');
                        }
                    }
                }
            }
        }
    } 
}
console.timeEnd('Execution time');

Это мой первый javascript, все отзывы приветствуются.

35
задан Shivi 29 December 2015 в 05:00
поделиться

1 ответ

Другие ответы являются сложными.
Некоторые не отвечают на вопрос вообще.

Ниже обработанного для меня

// orignal object with deep keys
var originalObject = {
    k1: "v1",
    k2: "v2",
    deepObj: {
        k3: "v3",
        k4: "v4"
    }
};

// make copies now
var copy1 = JSON.parse(JSON.stringify(originalObject));
var copy2 = JSON.parse(JSON.stringify(originalObject));

Hope, которая помогает.

0
ответ дан Manohar Reddy Poreddy 27 August 2019 в 15:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: