Рубрики
Без рубрики

JS – 💡 Объединение нескольких объектов в один

Хотите поправиться в веб-разработке 🚀🚀🚀? Подписаться на мою еженедельную рассылку в HTTPS: //codeSnacks.ne … Теги с JavaScript, начинающими, WebDev, учебником.

Хотите поправиться в веб-разработке 🚀🚀🚀? Подписаться на мою еженедельную рассылку на 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”