как клонировать свойства объекта в другой объект на javascript без использования фреймворков

Аватар пользователя Ivan Mamtsev
Ivan Mamtsev
26 февраля 2025

Для клонирования свойств объекта в другой объект на JavaScript без использования фреймворков можно воспользоваться следующими способами:

Использование цикла for...in:

function cloneObject(source) {
    let target = {};
    for (let key in source) {
        if (source.hasOwnProperty(key)) {
            target[key] = source[key];
        }
    }
    return target;
}

Использование метода Object.assign (если необходимо скопировать только перечислимые свойства):

function cloneObject(source) {
    return Object.assign({}, source);
}

Рекурсивное клонирование для вложенных объектов (если объект содержит другие объекты):

function cloneObject(source) {
    let target = {};
    for (let key in source) {
        if (typeof source[key] === 'object' && source[key] !== null) {
            target[key] = cloneObject(source[key]);
        } else {
            target[key] = source[key];
        }
    }
    return target;
}

С использованием спред-оператора (ES6):

function cloneObject(source) {
    return { ...source };
}

Для глубокого клонирования объекта с вложенными массивами и объектами, можно использовать JSON.parse и JSON.stringify:

function cloneObject(source) {
    return JSON.parse(JSON.stringify(source));
}
0 0
Познакомьтесь с основами JavaScript бесплатно