Скопируйте значения атрибутов объекта в другой объект, который имеет, но меньше таких же атрибутов - PullRequest
0 голосов
/ 28 февраля 2020

Предположим, у меня есть Объект A:

const ObjectA = {
    attribute1: "text",
    attribute2: "text",
}

И Объект B

const ObjectB = {
    attribute1: "tex2t",
    attribute2: "text2",
    attribute3: "text2"
}

Можно ли присвоить атрибутам ObjectA все значения Объекта B?

Я понимаю, что высказывание:

ObjectA = ObjectB

заставит ObjectA обработать дополнительный атрибут3, но это нежелательно для меня.

Как назначить существующие атрибуты ObjectB атрибутам ObjectA, но без добавления атрибутов, которых у ObjectA нет, т.е. attribute3. Возможно ли это без операции зацикливания?

Спасибо

1 Ответ

0 голосов
/ 28 февраля 2020

Вам нужно будет использовать al oop. Вот пример с .forEach(), хотя есть и несколько других допустимых подходов.

const objectA = {
    attribute1: "text",
    attribute2: "text",
};
const objectB = {
    attribute1: "tex2t",
    attribute2: "text2",
    attribute3: "text2"
};

Object.keys(objectB).forEach(key => {
  if(objectA.hasOwnProperty(key)) objectA[key] = objectB[key];
});

console.log(objectA);
...