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

Ivan Mamtsev
2 дня назад
Для клонирования свойств объекта в другой объект на 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