Как объединить два Javascript объекта и игнорировать свойства, которые находятся в месте назначения? - PullRequest
0 голосов
/ 25 марта 2020

Если у меня есть два объекта, как объединить их и сохранить значения свойств в месте назначения, если такие же свойства существуют и в источнике? Объекты могут быть разными по структуре. Предпочтительно использовать Angular JS или Underscore. Loda sh не может быть использована.

Пример:

obj1 = {"id": 1, "name": "john"}
obj2 = {"id": "2", "zip": "72623", "city": "London"}. //note id here is a string value where id in obj1 is a number

При объединении я хочу, чтобы obj1 было {"id": 1, "name": "john", "zip":"72623", "city": "London"}

Я пытался: obj1 = angular.merge({}, obj1, obj2) но id был "2".

1 Ответ

0 голосов
/ 25 марта 2020

вы можете использовать Object.assign () ...

, например:

obj1 = {"id": 1, "name": "john"}
obj2 = {"id": "2", "zip": "72623", "city": "London"}

const ob3 = Object.assign(obj1,obj2) 
//you get 
//{id: "2"
//name: "john"
//zip: "72623"
//city: "London"}

или если вы делаете

 const ob3 = Object.assign(obj2,obj1);

 // {id: 1
 //zip: "72623"
// city: "London"
// name: "john"
//}

Или используйте оператор распространения

const obj3 = {...obj1,...obj2}

Или наоборот

 const obj3 = {...obj2,...obj1}

Надеюсь, это поможет вам !!

...