2016-10-02 4 views
1

У меня есть что-то вроде этого:Обновление некоторые свойства объекта

let test = [ 
      { 
       name: "Mark", 
       address: "Some adress", 
       company: "company name", 
       age: 21 
      } 
] 

let test1 = [ 
      { 
       name: "Steve", 
       age: 27 
      } 
    ] 

Как я могу обновить тест с test1? Таким образом, то, что я хочу, чтобы это:

let test2 = [ 
      { 
       name: "Steve", 
       address: "Some adress", 
       company: "company name", 
       age: 27 
      } 
] 

ответ

5

Вы можете использовать Object.assign для него.

Метод Object.assign() используется для копирования значения всех перечислимых собственных свойств из одного или нескольких объектов источника к целевому объекту. Он вернет целевой объект.

let test = [{ name: "Mark", address: "Some adress", company: "company name", age: 21 }], 
 
    test1 = [{ name: "Steve", age: 27 }]; 
 

 
Object.assign(test[0], test1[0]); 
 

 
console.log(test);

+0

извините, не нужно, потому что оп задать вопрос с синтаксисом ES6 ('пусть '). –

0

Вы можете сделать это:

test[0].name = test1[0].name; 
test[0].age = test1[0].age; 

На самом деле, вам не нужно поместить объект как массив. Как это:

let test = { 
     name: "Mark", 
     address: "Some adress", 
     company: "company name", 
     age: 21 
} 

Таким образом, вам не нужно называть это так: test[0].name -> вобще test.name