Задать вопрос
splincodewd
@splincodewd
Developer

Как из другого объекта передать ключи в старый объект?

Есть объект $scope
я ему раньше вешал новые свойства таким образом

$scope.method1 = {};
$scope.method2 = {};
//..
$scope.methodn = {};


Но постоянно писать $scope надоело, попытался так
(scope, methods)=>{
    for (let i in methods){
      scope.i = methods[i];
    }

    // объект не удаляется
    // сборщиком мусора
    // ибо на него есть ссылки
    delete methods; 

  }($scope, {
      'method1' : {},
      'method2  : {},
      //..
      'methodn' : {}
  });


Как по правильному надо сделать?
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
;((scope, methods) => {
    for (let key of Object.getOwnPropertyNames(methods)) {
      scope[key] = methods[key];
    }
})($scope, {
      'method1' : {},
      'method2'  : {},
      //..
      'methodn' : {}
});


Оператор delete используется для удаления ключей из объекта, переменные им удалять нельзя
Память от временного объекта будет очищена по завершению данной функции
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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