Хотите поправиться в веб-разработке 🚀🚀🚀? Подписаться на мою еженедельную рассылку на https://codesnacks.net/subscribe/
Допустим, у вас есть несколько объектов, которые вы хотите объединить. Как мы можем сделать это? Без использования каких-либо библиотек существует два способа сделать это в JavaScript:
Объект.assign...– Оператор распространения объекта
Теперь посмотрим Объект.assign в действии:
const a = { x: "x", y: "y" }
const b = { z: "z" }
// create a new object and assign a & b
const c = Object.assign({}, a, b)
console.log(c) // {x: "x", y: "y", z: "z"}
То же самое работает также с оператором распространения объекта:
const a = { x: "x", y: "y" }
const b = { z: "z" }
// create a new object and spread a & b
const c = { ...a, ...b }
console.log(c) // {x: "x", y: "y", z: "z"}
Cool, поэтому теперь мы можем объединить несколько объектов в одну. Конечно, вы можете также слиться более двух.
Но что происходит, когда есть свойства, которые называются одинаковыми в обоих объектах?
Посмотрим:
const a = { x: "x", y: "y", who: "I'm a" }
const b = { z: "z", who: "I'm b" }
const c = { ...a, ...b }
console.log(c) // {x: "x", y: "y", z: "z", who: "I'm b"}
Поэтому, если два объекта содержат свойства, которые называются тем же, как Кто Свойство, объект, который используется последним, перезаписывает свойства бывшего объекта. В нашем случае Кто А будет перезаписан Кто B Отказ
Это потому, что сначала все свойства и значения А введены в новый объект. Тогда свойства и значения B Вкладываются в объект, перезаписывающие свойства, которые уже есть.
Хотите поправиться в веб-разработке? 🚀🚀🚀субопримените в учебное пособие вторник ✉️newsletter
Оригинал: “https://dev.to/benjaminmock/js-merging-multiple-objects-into-one-2l54”