Обновить некоторые свойства объекта

#javascript

#javascript

Вопрос:

У меня есть что-то вроде этого :

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

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

Как я могу обновить test с помощью test1? Таким образом, я хочу получить :

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

Ответ №1:

Вы могли бы использовать 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);  

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

1. извините, не обязательно, потому что op задает вопрос с синтаксисом ES6 ( let ).

Ответ №2:

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

 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