Recursively merges a patch into a base object (deep merge).
Arrays and primitives in patch overwrite base. Nested records are merged recursively. If base[k] is not a plain object (primitive, array, or null), an object-valued patch[k] overwrites it.
patch
base
base[k]
null
patch[k]
The record type.
The base object.
Partial updates. If nullish, base is returned.
A new merged object.
undefined
const base = { a: 1, b: { c: 2 } };const patch = { b: { d: 3 }, e: 4 };recursiveMerge(base, patch); // { a: 1, b: { c: 2, d: 3 }, e: 4 } Copy
const base = { a: 1, b: { c: 2 } };const patch = { b: { d: 3 }, e: 4 };recursiveMerge(base, patch); // { a: 1, b: { c: 2, d: 3 }, e: 4 }
Recursively merges a patch into a base object (deep merge).
Arrays and primitives in
patchoverwritebase. Nested records are merged recursively. Ifbase[k]is not a plain object (primitive, array, ornull), an object-valuedpatch[k]overwrites it.