Как применить свойства объекта к другому
У меня есть условный объект со свойствами first_name, last_name, birthday, но от сервера приходит ещё с другими свойствами, например, с phone, email, login
Я хочу применить свойства второго объекта к первому, но нужно применить только существующие свойства из первого объекта. Надеюсь я правильно объяснил.
Так вот, как это можно сделать? Да можно просто написать:
FirstObj.first_name = SecondObj.first_name;
FirstObj.last_name = SecondObj.last_name;
FirstObj.birthday = SecondObj.birthday;
Но это не то, буду рад если вы мне напишите какой метод за это отвечает, и скинитесь литературой
Ответы (1 шт):
Можно пройтись в цикле по всем свойствам второго объекта. Для каждого свойства проверить, есть ли оно в первом объекте. Если есть - скопировать значение свойства из второго объекта в первый
Сработает и в обратную сторону - пройтись по свойствам первого объекта и проверять наличие свойства во втором объекте
Вариант с использованием оператора in и цикла for in:
let FirstObj = { first_name: "firstName1", last_name: "lastName1", birthday: "birthday1" };
let SecondObj = { first_name: "firstName2", last_name: "lastName2", phone: "phone2" };
for (let key in SecondObj) {
if (key in FirstObj) {
FirstObj[key] = SecondObj[key];
}
}
console.log(FirstObj);