Skip to content

Instantly share code, notes, and snippets.

View Raf123's full-sized avatar

Rafayel Raf123

  • Armenia, Yerevan
View GitHub Profile
@Raf123
Raf123 / deep-merge.js
Created May 26, 2021 12:55 — forked from ahtcx/deep-merge.js
Deep-Merge JavaScript objects with ES6
// Merge a `source` object to a `target` recursively
const merge = (target, source) => {
// Iterate through `source` properties and if an `Object` set property to merge of `target` and `source` properties
for (const key of Object.keys(source)) {
if (source[key] instanceof Object) Object.assign(source[key], merge(target[key], source[key]))
}
// Join `target` and modified `source`
Object.assign(target || {}, source)
return target