Передача свойств этому более чистым способом

#javascript #node.js

#javascript #node.js

Вопрос:

Есть ли другой чистый способ написать этот код, чтобы свойства из массива данных передавались непосредственно этому объекту.

         this.Email = data[0].Email;
        this.RealName = data[0].RealName;
        this.JobTitle = data[0].JobTitle;
        this.UserDID = data[0].UserDID;
        this.CreatedDateTime = data[0].CreatedDateTime;
        this.ApplicationCount = data[0].ApplicationCount;
        this.CountApply = data[0].CountApply;
        this.CountResume = data[0].CountResume;
        this.LastEmailAction = data[0].LastEmailAction;
        this.CountEmailActions = data[0].CountEmailActions;
        this.LastResume = data[0].LastResume;
        this.LastApply = data[0].LastApply;
 

Комментарии:

1. создайте массив ключей и выполните цикл по массиву и добавьте эти свойства к этому

Ответ №1:

Если вы хотите, чтобы все свойства из data[0] присваивались объекту, на который указывает this , вы можете использовать Object.assign() , который скопирует все перечислимые свойства из исходного объекта в целевой объект:

 Object.assign(this, data[0]);
 

Если вы хотите выбрать только свойства, вы можете составить список этих свойств и перебирать их:

 ['Email', 'RealName', ...].forEach(prop => {this[prop] = data[0][prop]});