logicface
@logicface
Начинающий

Как создать функцию копирования объектов с подставным именем нового объекта?

Хочу создать функцию, которая бы копировала объект с новым именем, которое задается в качестве входных параметров функции, но что-то не работает. Вот мой код:

let user = {
   name: "David",
   age: 25,
}

objectClone = (newName, object) => {
   let [newName] = {};

   for (let key in object) {
      newName[key] = object[key];
   }

   return newName;
}

objectClone(user2, user);

console.log(user2.name);

Как реализовать этот функционал и в чем моя ошибка?
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
Вы пытаетесь создать новый объект и дать ему имя, передав это имя в функцию. Это не работает, потому что в JavaScript имена переменных должны быть определены явно, они не могут быть созданы или изменены динамически во время выполнения.

Возвращаем копию объекта, затем присваиваем эту копию новой переменной:
let user = {
   name: "David",
   age: 25,
}

function objectClone(object) {
   let newObject = {};

   for (let key in object) {
      newObject[key] = object[key];
   }

   return newObject;
}

let user2 = objectClone(user);

console.log(user2.name); // выводит "David"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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