2016-10-02 100 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